export type SockAddr = NetAddr | UnixAddr | undefined;
export interface NetAddr {
    transport?: "tcp" | "udp";
    hostname: string;
    port: number;
}
export interface UnixAddr {
    transport: "unix" | "unixpacket";
    path: string;
}
export type SockConn = {
    readable: ReadableStream<Uint8Array>;
    writable: WritableStream<Uint8Array>;
    close: () => void;
    localAddr?: SockAddr;
    remoteAddr?: SockAddr;
};
export declare class Conn {
    reader: ReadableStreamBYOBReader;
    writer: WritableStreamDefaultWriter<Uint8Array>;
    closed: boolean;
    remoteAddr: SockAddr | undefined;
    closer: () => void;
    constructor(sockConn: SockConn);
    read(buff: Uint8Array): Promise<number | null>;
    write(data: Uint8Array): Promise<number>;
    close(): void;
}
//# sourceMappingURL=socket.d.ts.map