import EventEmitter from 'events';
import Queue from './queue';
import Socket from './socket';
import { SimpleDDPConnectOptions } from '../DDPClient';
export declare const PUBLIC_EVENTS: readonly ["ready", "nosub", "added", "changed", "removed", "result", "updated", "error", "connected", "login", "logout", "ping", "pong", "disconnected"];
export default class DDP extends EventEmitter {
    status: string;
    sessionId: null;
    cleanQueue: boolean;
    autoConnect: boolean;
    autoReconnect: boolean;
    autoReconnectUserValue: boolean;
    reconnectInterval: number;
    messageQueue: Queue<(message: any) => boolean>;
    socket: Socket;
    emit(event: string, ...args?: any[]): void;
    constructor(options: SimpleDDPConnectOptions);
    connect(): void;
    disconnect(): void;
    pauseQueue(): void;
    continueQueue(): void;
    method(name: string, params: any[], atBeginning?: boolean): string;
    sub(name: string, params: any[], id?: string): string;
    unsub(id: string | number): string | number;
}
