import type TypedEmitter from 'typed-emitter';
import { Checker, CheckerOptions, CheckInfo, CheckStatus, InstantiableCheck } from './checks/Checker';
export type { CheckInfo, CheckStatus };
declare const ConnectionCheck_base: new () => TypedEmitter<ConnectionCheckCallbacks>;
export declare class ConnectionCheck extends ConnectionCheck_base {
    token: string;
    url: string;
    private checkResults;
    constructor(url: string, token: string);
    private getNextCheckId;
    private updateCheck;
    isSuccess(): boolean;
    getResults(): CheckInfo[];
    createAndRunCheck<T extends Checker>(check: InstantiableCheck<T>, additionalParams?: CheckerOptions): Promise<CheckInfo>;
    checkWebsocket(): Promise<CheckInfo>;
    checkWebRTC(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
    checkTURN(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
    checkReconnect(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
    checkPublishAudio(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
    checkPublishVideo(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
    checkTrickle(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
    checkMediaDevices(turnServers: Array<RTCIceServer>): Promise<CheckInfo>;
}
type ConnectionCheckCallbacks = {
    checkUpdate: (id: number, info: CheckInfo) => void;
};
