///
///
import { IncomingMessage } from 'http';
import * as ws from 'ws';
import { InternalServer, ServerOptions, Token } from './serverInterfaces';
import { OriginalRequest, ErrorHandler } from './server';
import { MethodDef, MethodOptions, ClientOptions, RateLimitDef } from './interfaces';
export declare function randomString(length: number): string;
export declare const defaultErrorHandler: ErrorHandler;
export declare function getMethodsFromType(ctor: Function): MethodDef[];
export declare function returnTrue(): boolean;
export declare function createToken(server: InternalServer, data?: any): Token;
export declare function getToken(server: InternalServer, id: string): Token | null;
export declare function getTokenFromClient(server: InternalServer, id: string): Token | undefined;
export declare function hasToken(server: InternalServer, id: any): boolean;
export declare function createOriginalRequest(socket: ws & {
upgradeReq?: IncomingMessage;
}, request: IncomingMessage | undefined): OriginalRequest;
export declare function createClientOptions(serverType: new (...args: any[]) => TServer, clientType: new (...args: any[]) => TClient, options?: ServerOptions): ClientOptions;
export declare function createServerOptions(serverType: Function, clientType: Function, options?: ServerOptions): {
pingInterval?: number | undefined;
connectionTimeout?: number | undefined;
connectionTokens?: boolean | undefined;
tokenLifetime?: number | undefined;
clientLimit?: number | undefined;
perMessageDeflate?: boolean | undefined;
transferLimit?: number | undefined;
verifyClient?: ((req: IncomingMessage) => boolean) | undefined;
createClient?: ((client: import("./server").SocketServerClient, send: (data: string | Uint8Array | Buffer) => void) => import("./server").SocketServerClient) | undefined;
ws?: any;
arrayBuffer?: boolean | undefined;
forceBinary?: boolean | undefined;
forceBinaryPackets?: boolean | undefined;
useBinaryByDefault?: boolean | undefined;
keepOriginalRequest?: boolean | undefined;
errorIfNotConnected?: boolean | undefined;
printGeneratedCode?: boolean | undefined;
onSend?: import("./interfaces").OnSend | undefined;
onRecv?: import("./interfaces").OnRecv | undefined;
client: MethodDef[];
server: MethodDef[];
id?: string | undefined;
host?: string | undefined;
path?: string | undefined;
ssl?: boolean | undefined;
clientPingInterval?: number | undefined;
reconnectTimeout?: number | undefined;
clientConnectionTimeout?: number | undefined;
debug?: boolean | undefined;
development?: boolean | undefined;
hash?: string | undefined;
requestParams?: any;
clientBaseId?: number | undefined;
copySendBuffer?: boolean | undefined;
useBinaryResultByDefault?: boolean | undefined;
};
export declare function optionsWithDefaults(options: ServerOptions): ServerOptions;
export declare function getBinaryOnlyPackets(client: MethodDef[]): any;
export declare function toClientOptions(options: ServerOptions): ClientOptions;
export declare function parseRateLimitDefOptions(method: MethodDef): RateLimitDef | undefined;
export declare function parseRateLimitDef(options: MethodOptions): RateLimitDef | undefined;
export declare function getQuery(url: string | undefined): {
[key: string]: string | string[] | undefined;
};
export declare function callWithErrorHandling(action: () => any, onSuccess: () => void, onError: (e: Error) => void): void;