import { SeyfertWebSocket } from './socket/custom';
export declare class BaseSocket {
    private internal;
    ping: () => Promise<number>;
    constructor(kind: 'ws' | 'bun', url: string);
    set onopen(callback: SeyfertWebSocket['onopen']);
    set onmessage(callback: SeyfertWebSocket['onmessage']);
    set onclose(callback: SeyfertWebSocket['onclose']);
    set onerror(callback: SeyfertWebSocket['onerror']);
    send(data: string): void;
    close(...args: Parameters<SeyfertWebSocket['close']>): void;
    get readyState(): number;
}
