import VideoType from "../../util/VideoType";
export declare abstract class AbstractCapturer {
    protected localCameraStream: () => MediaStream;
    protected localScreenShareStream: () => MediaStream;
    protected remotePeerConnection: () => RTCPeerConnection;
    protected mid: (identity: string, type: VideoType) => string;
    protected currentUserIdentity: string;
    constructor(localCameraStream: () => MediaStream, localScreenShareStream: () => MediaStream, remotePeerConnection: () => RTCPeerConnection, mid: (identity: string, type: VideoType) => string, currentUserIdentity: string);
    protected getCanvas(identity: string, videoType: VideoType): Promise<HTMLCanvasElement>;
    private drawImage;
    private getVideoStream;
    private getVideoElement;
}
