import { Event } from '@skyway-sdk/common';
import { Member } from '../../../member';
import { RemoteMember } from '../../../member/remoteMember';
import { Transport, TransportConnectionState } from '../../../plugin/interface';
import { ContentType, Stream, WebRTCStats } from '../base';
export declare abstract class LocalStreamBase implements Stream {
    readonly contentType: ContentType;
    readonly side = "local";
    /**
     * @deprecated
     * @use Publication.onConnectionStateChanged
     * @description [japanese] メディア通信の状態が変化した時に発火するイベント
     */
    readonly onConnectionStateChanged: Event<{
        remoteMember: RemoteMember;
        state: TransportConnectionState;
    }>;
    /**@internal */
    readonly _onConnectionStateChanged: Event<{
        remoteMember: RemoteMember;
        state: TransportConnectionState;
    }>;
    readonly id: string;
    /**@internal */
    _label: string;
    published: boolean;
    /**@private */
    _getTransportCallbacks: {
        [remoteMemberId: string]: () => Transport;
    };
    /**@private */
    _getStatsCallbacks: {
        [remoteMemberId: string]: () => Promise<WebRTCStats>;
    };
    private _connectionState;
    /**@internal */
    constructor(contentType: ContentType);
    /**@internal */
    _setLabel(label: string): void;
    /**@internal */
    _unpublished(): void;
    /**@internal */
    _getTransport(selector: Member | string): Transport | undefined;
    /**@internal */
    _setConnectionState(remoteMember: RemoteMember, state: TransportConnectionState): void;
    /**
     * @deprecated
     * @use Publication.getStats
     */
    getStats(selector: Member | string): Promise<WebRTCStats>;
    /**@internal */
    _getStats(selector: Member | string): Promise<WebRTCStats>;
    /**@internal */
    _getStatsAll(): Promise<{
        memberId: string;
        stats: WebRTCStats | never[];
    }[]>;
    /**
     * @deprecated
     * @use Publication.getRTCPeerConnection
     */
    getRTCPeerConnection(selector: Member | string): RTCPeerConnection | undefined;
    /**@internal */
    _getRTCPeerConnection(selector: Member | string): RTCPeerConnection | undefined;
    /**
     * @deprecated
     * @use Publication.getConnectionState
     */
    getConnectionState(selector: Member | string): TransportConnectionState;
    /**@internal */
    _getConnectionState(selector: Member | string): TransportConnectionState;
    /**@internal */
    _getConnectionStateAll(): {
        memberId: string;
        connectionState: TransportConnectionState;
    }[];
    /**@internal */
    toJSON(): {
        label: string;
        contentType: ContentType;
        id: string;
        side: string;
    };
}
//# sourceMappingURL=base.d.ts.map