import { BaseComponentContract, BaseRPCResult, FabricLayoutChangedEventParams, Rooms, VideoMemberEntity, VideoPosition, BaseConnectionContract, FabricRoomSessionMethods, MemberCommandParams } from '@signalwire/core';
import { BaseRoomSessionConnection, BaseRoomSessionOptions } from '../BaseRoomSession';
import { BaseRoomSessionContract, FabricRoomSessionContract, FabricRoomSessionEvents, MemberCommandWithValueParams, MemberCommandWithVolumeParams } from '../utils/interfaces';
import { FabricRoomSessionMember } from './FabricRoomSessionMember';
import { CallCapabilitiesContract } from './interfaces/capabilities';
export interface FabricRoomSession extends FabricRoomSessionContract, FabricRoomSessionMethods, BaseRoomSessionContract, BaseConnectionContract<FabricRoomSessionEvents>, BaseComponentContract {
}
export interface FabricRoomSessionOptions extends Omit<BaseRoomSessionOptions, 'customSagas'> {
}
export declare class FabricRoomSessionConnection extends BaseRoomSessionConnection<FabricRoomSessionEvents> implements FabricRoomSessionContract {
    private _self?;
    private _member?;
    private _currentLayoutEvent;
    private _capabilities?;
    constructor(options: FabricRoomSessionOptions);
    get memberId(): string | undefined;
    set currentLayoutEvent(event: FabricLayoutChangedEventParams);
    get currentLayoutEvent(): FabricLayoutChangedEventParams;
    get currentLayout(): import("@signalwire/core").InternalVideoLayout;
    get currentPosition(): VideoPosition | undefined;
    get capabilities(): CallCapabilitiesContract | undefined;
    set capabilities(capabilities: CallCapabilitiesContract | undefined);
    get selfMember(): FabricRoomSessionMember | undefined;
    set selfMember(member: FabricRoomSessionMember | undefined);
    set member(member: FabricRoomSessionMember);
    get member(): FabricRoomSessionMember;
    private initWorker;
    private join;
    private executeAction;
    /** @internal */
    resume(): Promise<void>;
    start(): Promise<void>;
    audioMute(params: MemberCommandParams): Promise<BaseRPCResult>;
    audioUnmute(params: MemberCommandParams): Promise<BaseRPCResult>;
    videoMute(params: MemberCommandParams): Promise<BaseRPCResult>;
    videoUnmute(params: MemberCommandParams): Promise<BaseRPCResult>;
    deaf(params: MemberCommandParams): Promise<BaseRPCResult>;
    undeaf(params: MemberCommandParams): Promise<BaseRPCResult>;
    getLayouts(): Promise<{
        layouts: string[];
    }>;
    getMembers(): Promise<{
        members: VideoMemberEntity[];
    }>;
    removeMember(params: Required<MemberCommandParams>): Promise<BaseRPCResult>;
    setRaisedHand(params?: Rooms.SetRaisedHandRoomParams): Promise<BaseRPCResult>;
    setLayout(params: Rooms.SetLayoutParams): Promise<BaseRPCResult>;
    setInputVolume(params: MemberCommandWithVolumeParams): Promise<BaseRPCResult>;
    setOutputVolume(params: MemberCommandWithVolumeParams): Promise<BaseRPCResult>;
    setInputSensitivity(params: MemberCommandWithValueParams): Promise<BaseRPCResult>;
    setPositions(params: Rooms.SetPositionsParams): Promise<unknown>;
    lock(): Promise<BaseRPCResult>;
    unlock(): Promise<BaseRPCResult>;
}
export declare const isFabricRoomSession: (room: unknown) => room is FabricRoomSession;
/** @internal */
export declare const createFabricRoomSessionObject: (params: FabricRoomSessionOptions) => FabricRoomSession;
//# sourceMappingURL=FabricRoomSession.d.ts.map