import { StreamSetupListener } from '../../dom/StreamSetupListener';
import PeerConnectionContext from '../context/PeerConnectionContext';
import PublisherContext from './PublisherContext';
export default class RealTimePublisher {
    private readonly _logger;
    private readonly _publisherContext;
    private readonly _peerConnectionContext;
    private readonly _handleStreamFailure;
    constructor(publisherContext: PublisherContext, peerConnectionContext: PeerConnectionContext, handleStreamFailure: () => Promise<void>);
    start(uri: URL, token: string, listenOnStreamSetup: StreamSetupListener): Promise<void>;
    private applyRtcConfiguration;
    private reconnectPeerConnection;
    private mapSetRemoteDescriptionStatusToPublisherStatus;
    private mapAddIceCandidatesStatusToPublisherStatus;
}
