///
///
import type { Socket } from 'net';
import type { TLSSocket } from 'tls';
import type { Document } from '../bson';
import { Callback, ClientMetadata } from '../utils';
import { Connection, ConnectionOptions } from './connection';
/** @public */
export declare type Stream = Socket | TLSSocket;
export declare function connect(options: ConnectionOptions, callback: Callback): void;
export interface HandshakeDocument extends Document {
/**
* @deprecated Use hello instead
*/
ismaster?: boolean;
hello?: boolean;
helloOk?: boolean;
client: ClientMetadata;
compression: string[];
saslSupportedMechs?: string;
loadBalanced: boolean;
}
/** @public */
export declare const LEGAL_TLS_SOCKET_OPTIONS: readonly ["ALPNProtocols", "ca", "cert", "checkServerIdentity", "ciphers", "crl", "ecdhCurve", "key", "minDHSize", "passphrase", "pfx", "rejectUnauthorized", "secureContext", "secureProtocol", "servername", "session"];
/** @public */
export declare const LEGAL_TCP_SOCKET_OPTIONS: readonly ["family", "hints", "localAddress", "localPort", "lookup"];
//# sourceMappingURL=connect.d.ts.map