import { CallingDemuxId, CallingEraId } from '../calling';
import { IcePassword } from './ice';
import { StrpKeyMaterial } from './srtp';
export type SfuConnectionId = `${CallingEraId}:${CallingDemuxId}` & {
    SfuConnectionId: never;
};
export declare function getSfuConnectionId(params: {
    eraId: CallingEraId;
    demuxId: CallingDemuxId;
}): SfuConnectionId;
export type SfuConnectionOptions = Readonly<{
    connectionId: SfuConnectionId;
    demuxId: CallingDemuxId;
    serverIceUsername: string;
    clientIceUsername: string;
    serverIcePassword: IcePassword;
    clientIcePassword: IcePassword;
    strpKeyMaterial: StrpKeyMaterial;
}>;
export declare class SfuConnection {
    #private;
    constructor(options: SfuConnectionOptions);
    get connectionId(): SfuConnectionId;
    get demuxId(): CallingDemuxId;
    get serverIceUsername(): string;
    get clientIceUsername(): string;
    get serverIcePassword(): IcePassword;
    get clientIcePassword(): IcePassword;
    get strpKeyMaterial(): StrpKeyMaterial;
}
