public final class io/ktor/network/selector/ActorSelectorManager : io/ktor/network/selector/SelectorManagerSupport, java/io/Closeable, kotlinx/coroutines/CoroutineScope {
	public fun <init> (Lkotlin/coroutines/CoroutineContext;)V
	public fun close ()V
	public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext;
	public fun notifyClosed (Lio/ktor/network/selector/Selectable;)V
}

public final class io/ktor/network/selector/InterestSuspensionsMap {
	public static final field Companion Lio/ktor/network/selector/InterestSuspensionsMap$Companion;
	public fun <init> ()V
	public final fun addSuspension (Lio/ktor/network/selector/SelectInterest;Lkotlinx/coroutines/CancellableContinuation;)V
	public final fun invokeForEachPresent (ILkotlin/jvm/functions/Function1;)V
	public final fun invokeForEachPresent (Lkotlin/jvm/functions/Function2;)V
	public final fun removeSuspension (I)Lkotlinx/coroutines/CancellableContinuation;
	public final fun removeSuspension (Lio/ktor/network/selector/SelectInterest;)Lkotlinx/coroutines/CancellableContinuation;
	public fun toString ()Ljava/lang/String;
}

public final class io/ktor/network/selector/InterestSuspensionsMap$Companion {
}

public final class io/ktor/network/selector/SelectInterest : java/lang/Enum {
	public static final field ACCEPT Lio/ktor/network/selector/SelectInterest;
	public static final field CONNECT Lio/ktor/network/selector/SelectInterest;
	public static final field Companion Lio/ktor/network/selector/SelectInterest$Companion;
	public static final field READ Lio/ktor/network/selector/SelectInterest;
	public static final field WRITE Lio/ktor/network/selector/SelectInterest;
	public final fun getFlag ()I
	public static fun valueOf (Ljava/lang/String;)Lio/ktor/network/selector/SelectInterest;
	public static fun values ()[Lio/ktor/network/selector/SelectInterest;
}

public final class io/ktor/network/selector/SelectInterest$Companion {
	public final fun getAllInterests ()[Lio/ktor/network/selector/SelectInterest;
	public final fun getFlags ()[I
	public final fun getSize ()I
}

public abstract interface class io/ktor/network/selector/Selectable : java/io/Closeable, kotlinx/coroutines/DisposableHandle {
	public abstract fun getChannel ()Ljava/nio/channels/SelectableChannel;
	public abstract fun getInterestedOps ()I
	public abstract fun getSuspensions ()Lio/ktor/network/selector/InterestSuspensionsMap;
	public abstract fun interestOp (Lio/ktor/network/selector/SelectInterest;Z)V
}

public abstract interface class io/ktor/network/selector/SelectorManager {
	public static final field Companion Lio/ktor/network/selector/SelectorManager$Companion;
	public abstract fun getProvider ()Ljava/nio/channels/spi/SelectorProvider;
	public abstract fun notifyClosed (Lio/ktor/network/selector/Selectable;)V
	public abstract fun select (Lio/ktor/network/selector/Selectable;Lio/ktor/network/selector/SelectInterest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class io/ktor/network/selector/SelectorManager$Companion {
}

public final class io/ktor/network/selector/SelectorManagerKt {
	public static final fun buildOrClose (Lio/ktor/network/selector/SelectorManager;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
}

public abstract class io/ktor/network/selector/SelectorManagerSupport : io/ktor/network/selector/SelectorManager {
	protected final fun applyInterest (Ljava/nio/channels/Selector;Lio/ktor/network/selector/Selectable;)V
	protected final fun cancelAllSuspensions (Lio/ktor/network/selector/Selectable;Ljava/lang/Throwable;)V
	protected final fun cancelAllSuspensions (Ljava/nio/channels/Selector;Ljava/lang/Throwable;)V
	protected final fun getCancelled ()I
	protected final fun getPending ()I
	public final fun getProvider ()Ljava/nio/channels/spi/SelectorProvider;
	protected final fun handleSelectedKey (Ljava/nio/channels/SelectionKey;)V
	protected final fun handleSelectedKeys (Ljava/util/Set;Ljava/util/Set;)V
	protected final fun notifyClosedImpl (Ljava/nio/channels/Selector;Ljava/nio/channels/SelectionKey;Lio/ktor/network/selector/Selectable;)V
	protected abstract fun publishInterest (Lio/ktor/network/selector/Selectable;)V
	public final fun select (Lio/ktor/network/selector/Selectable;Lio/ktor/network/selector/SelectInterest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
	protected final fun setCancelled (I)V
	protected final fun setPending (I)V
}

public final class io/ktor/network/selector/SelectorManagerSupport$ClosedSelectorCancellationException : java/util/concurrent/CancellationException {
	public fun <init> ()V
}

public abstract interface class io/ktor/network/sockets/ABoundSocket {
	public abstract fun getLocalAddress ()Ljava/net/SocketAddress;
}

public abstract interface class io/ktor/network/sockets/AConnectedSocket : io/ktor/network/sockets/AWritable {
	public abstract fun getRemoteAddress ()Ljava/net/SocketAddress;
}

public abstract interface class io/ktor/network/sockets/AReadable {
	public abstract fun attachForReading (Lkotlinx/coroutines/io/ByteChannel;)Lkotlinx/coroutines/io/WriterJob;
}

public abstract interface class io/ktor/network/sockets/ASocket : java/io/Closeable, kotlinx/coroutines/DisposableHandle {
	public abstract fun dispose ()V
	public abstract fun getSocketContext ()Lkotlinx/coroutines/Deferred;
}

public final class io/ktor/network/sockets/ASocket$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/ASocket;)V
}

public abstract interface class io/ktor/network/sockets/AWritable {
	public abstract fun attachForWriting (Lkotlinx/coroutines/io/ByteChannel;)Lkotlinx/coroutines/io/ReaderJob;
}

public abstract interface class io/ktor/network/sockets/Acceptable : io/ktor/network/sockets/ASocket {
	public abstract fun accept (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class io/ktor/network/sockets/Acceptable$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/Acceptable;)V
}

public abstract interface class io/ktor/network/sockets/BoundDatagramSocket : io/ktor/network/sockets/ABoundSocket, io/ktor/network/sockets/AReadable, io/ktor/network/sockets/ASocket, io/ktor/network/sockets/DatagramReadWriteChannel {
}

public final class io/ktor/network/sockets/BoundDatagramSocket$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/BoundDatagramSocket;)V
	public static fun receive (Lio/ktor/network/sockets/BoundDatagramSocket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
	public static fun send (Lio/ktor/network/sockets/BoundDatagramSocket;Lio/ktor/network/sockets/Datagram;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class io/ktor/network/sockets/BuildersKt {
	public static final fun aSocket (Lio/ktor/network/selector/SelectorManager;)Lio/ktor/network/sockets/SocketBuilder;
	public static final fun tcpNoDelay (Lio/ktor/network/sockets/Configurable;)Lio/ktor/network/sockets/Configurable;
}

public abstract interface class io/ktor/network/sockets/Configurable {
	public abstract fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/Configurable;
	public abstract fun getOptions ()Lio/ktor/network/sockets/SocketOptions;
	public abstract fun setOptions (Lio/ktor/network/sockets/SocketOptions;)V
}

public final class io/ktor/network/sockets/Configurable$DefaultImpls {
	public static fun configure (Lio/ktor/network/sockets/Configurable;Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/Configurable;
}

public abstract interface class io/ktor/network/sockets/ConnectedDatagramSocket : io/ktor/network/sockets/ABoundSocket, io/ktor/network/sockets/AConnectedSocket, io/ktor/network/sockets/ASocket, io/ktor/network/sockets/DatagramReadWriteChannel, io/ktor/network/sockets/ReadWriteSocket {
}

public final class io/ktor/network/sockets/ConnectedDatagramSocket$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/ConnectedDatagramSocket;)V
	public static fun receive (Lio/ktor/network/sockets/ConnectedDatagramSocket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
	public static fun send (Lio/ktor/network/sockets/ConnectedDatagramSocket;Lio/ktor/network/sockets/Datagram;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class io/ktor/network/sockets/Datagram {
	public fun <init> (Lkotlinx/io/core/ByteReadPacket;Ljava/net/SocketAddress;)V
	public final fun getAddress ()Ljava/net/SocketAddress;
	public final fun getPacket ()Lkotlinx/io/core/ByteReadPacket;
}

public abstract interface class io/ktor/network/sockets/DatagramReadChannel {
	public abstract fun getIncoming ()Lkotlinx/coroutines/channels/ReceiveChannel;
	public abstract fun receive (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class io/ktor/network/sockets/DatagramReadChannel$DefaultImpls {
	public static fun receive (Lio/ktor/network/sockets/DatagramReadChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public abstract interface class io/ktor/network/sockets/DatagramReadWriteChannel : io/ktor/network/sockets/DatagramReadChannel, io/ktor/network/sockets/DatagramWriteChannel {
}

public final class io/ktor/network/sockets/DatagramReadWriteChannel$DefaultImpls {
	public static fun receive (Lio/ktor/network/sockets/DatagramReadWriteChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
	public static fun send (Lio/ktor/network/sockets/DatagramReadWriteChannel;Lio/ktor/network/sockets/Datagram;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public abstract interface class io/ktor/network/sockets/DatagramWriteChannel {
	public abstract fun getOutgoing ()Lkotlinx/coroutines/channels/SendChannel;
	public abstract fun send (Lio/ktor/network/sockets/Datagram;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class io/ktor/network/sockets/DatagramWriteChannel$DefaultImpls {
	public static fun send (Lio/ktor/network/sockets/DatagramWriteChannel;Lio/ktor/network/sockets/Datagram;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public abstract interface class io/ktor/network/sockets/ReadWriteSocket : io/ktor/network/sockets/AReadable, io/ktor/network/sockets/ASocket, io/ktor/network/sockets/AWritable {
}

public final class io/ktor/network/sockets/ReadWriteSocket$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/ReadWriteSocket;)V
}

public abstract interface class io/ktor/network/sockets/ServerSocket : io/ktor/network/sockets/ABoundSocket, io/ktor/network/sockets/ASocket, io/ktor/network/sockets/Acceptable {
}

public final class io/ktor/network/sockets/ServerSocket$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/ServerSocket;)V
}

public abstract interface class io/ktor/network/sockets/Socket : io/ktor/network/sockets/ABoundSocket, io/ktor/network/sockets/AConnectedSocket, io/ktor/network/sockets/ReadWriteSocket {
}

public final class io/ktor/network/sockets/Socket$DefaultImpls {
	public static fun dispose (Lio/ktor/network/sockets/Socket;)V
}

public final class io/ktor/network/sockets/SocketBuilder : io/ktor/network/sockets/Configurable {
	public synthetic fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/Configurable;
	public fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/SocketBuilder;
	public fun getOptions ()Lio/ktor/network/sockets/SocketOptions;
	public fun setOptions (Lio/ktor/network/sockets/SocketOptions;)V
	public final fun tcp ()Lio/ktor/network/sockets/TcpSocketBuilder;
	public final fun udp ()Lio/ktor/network/sockets/UDPSocketBuilder;
}

public final class io/ktor/network/sockets/SocketOptions {
	public static final field Companion Lio/ktor/network/sockets/SocketOptions$Companion;
	public final fun copy ()Lio/ktor/network/sockets/SocketOptions;
	public final fun get (Ljava/net/SocketOption;)Ljava/lang/Object;
	public final fun list ()Ljava/util/List;
	public final fun set (Ljava/net/SocketOption;Ljava/lang/Object;)V
}

public final class io/ktor/network/sockets/SocketOptions$Companion {
	public final fun getEmpty ()Lio/ktor/network/sockets/SocketOptions;
}

public final class io/ktor/network/sockets/SocketsKt {
	public static final fun awaitClosed (Lio/ktor/network/sockets/ASocket;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
	public static final fun isClosed (Lio/ktor/network/sockets/ASocket;)Z
	public static final fun openReadChannel (Lio/ktor/network/sockets/AReadable;)Lkotlinx/coroutines/io/ByteReadChannel;
	public static final fun openWriteChannel (Lio/ktor/network/sockets/AWritable;Z)Lkotlinx/coroutines/io/ByteWriteChannel;
	public static synthetic fun openWriteChannel$default (Lio/ktor/network/sockets/AWritable;ZILjava/lang/Object;)Lkotlinx/coroutines/io/ByteWriteChannel;
}

public final class io/ktor/network/sockets/TcpSocketBuilder : io/ktor/network/sockets/Configurable {
	public final fun bind (Ljava/lang/String;I)Lio/ktor/network/sockets/ServerSocket;
	public final fun bind (Ljava/net/SocketAddress;)Lio/ktor/network/sockets/ServerSocket;
	public static synthetic fun bind$default (Lio/ktor/network/sockets/TcpSocketBuilder;Ljava/lang/String;IILjava/lang/Object;)Lio/ktor/network/sockets/ServerSocket;
	public static synthetic fun bind$default (Lio/ktor/network/sockets/TcpSocketBuilder;Ljava/net/SocketAddress;ILjava/lang/Object;)Lio/ktor/network/sockets/ServerSocket;
	public synthetic fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/Configurable;
	public fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/TcpSocketBuilder;
	public final fun connect (Ljava/lang/String;ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
	public final fun connect (Ljava/net/SocketAddress;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
	public fun getOptions ()Lio/ktor/network/sockets/SocketOptions;
	public fun setOptions (Lio/ktor/network/sockets/SocketOptions;)V
}

public final class io/ktor/network/sockets/UDPSocketBuilder : io/ktor/network/sockets/Configurable {
	public final fun bind (Ljava/net/SocketAddress;)Lio/ktor/network/sockets/BoundDatagramSocket;
	public static synthetic fun bind$default (Lio/ktor/network/sockets/UDPSocketBuilder;Ljava/net/SocketAddress;ILjava/lang/Object;)Lio/ktor/network/sockets/BoundDatagramSocket;
	public synthetic fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/Configurable;
	public fun configure (Lkotlin/jvm/functions/Function1;)Lio/ktor/network/sockets/UDPSocketBuilder;
	public final fun connect (Ljava/net/SocketAddress;Ljava/net/SocketAddress;)Lio/ktor/network/sockets/ConnectedDatagramSocket;
	public static synthetic fun connect$default (Lio/ktor/network/sockets/UDPSocketBuilder;Ljava/net/SocketAddress;Ljava/net/SocketAddress;ILjava/lang/Object;)Lio/ktor/network/sockets/ConnectedDatagramSocket;
	public fun getOptions ()Lio/ktor/network/sockets/SocketOptions;
	public fun setOptions (Lio/ktor/network/sockets/SocketOptions;)V
}

public final class io/ktor/network/util/IOCoroutineDispatcher : kotlinx/coroutines/CoroutineDispatcher, java/io/Closeable {
	public fun <init> (I)V
	public fun close ()V
	public fun dispatch (Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
}

public final class io/ktor/network/util/PoolsKt {
	public static final fun getDefaultDatagramByteBufferPool ()Lkotlinx/io/pool/ObjectPool;
	public static final fun getIoCoroutineDispatcher ()Lkotlinx/coroutines/CoroutineDispatcher;
	public static final fun getIoThreadGroup ()Ljava/lang/ThreadGroup;
}

