import { BasePeerConnection } from './BasePeerConnection';
import { BasePeerConnectionOpts } from './types';
/**
 * A wrapper around the `RTCPeerConnection` that handles the incoming
 * media streams from the SFU.
 *
 * @internal
 */
export declare class Subscriber extends BasePeerConnection {
    /**
     * Constructs a new `Subscriber` instance.
     */
    constructor(opts: BasePeerConnectionOpts);
    /**
     * Detaches the event handlers from the `RTCPeerConnection`.
     * This is useful when we want to replace the `RTCPeerConnection`
     * instance with a new one (in case of migration).
     */
    detachEventHandlers(): void;
    /**
     * Restarts the ICE connection and renegotiates with the SFU.
     */
    restartIce: () => Promise<void>;
    private handleOnTrack;
    private setRemoteTrackInterrupted;
    private negotiate;
}
