import { FabricMemberEventNames, FabricMemberEventParams, FabricMemberEventParamsExcludeTalking, FabricMemberJoinedEventParams, FabricMemberLeftEventParams, FabricMemberTalkingEventParams, FabricMemberUpdatedEventParams, FabricMemberContract, MemberJoined, MemberLeft, MemberTalking, MemberUpdated, BaseComponentOptionsWithPayload, BaseComponent } from '@signalwire/core';
export interface FabricRoomSessionMember extends FabricMemberContract {
    /** Unique id of this member. */
    id: string;
    setPayload(payload: FabricMemberEventParams): void;
}
export type FabricRoomSessionMemberEventsHandlerMap = Record<MemberJoined, (params: FabricMemberJoinedEventParams) => void> & Record<MemberUpdated, (params: FabricMemberUpdatedEventParams) => void> & Record<MemberLeft, (params: FabricMemberLeftEventParams) => void> & Record<MemberTalking, (params: FabricMemberTalkingEventParams) => void> & Record<Exclude<FabricMemberEventNames, MemberJoined | MemberLeft | MemberTalking>, (params: FabricMemberUpdatedEventParams) => void>;
export type FabricRoomSessionMemberEvents = {
    [k in keyof FabricRoomSessionMemberEventsHandlerMap]: FabricRoomSessionMemberEventsHandlerMap[k];
};
export interface FabricRoomSessionMemberOptions extends BaseComponentOptionsWithPayload<FabricMemberEventParamsExcludeTalking> {
}
export declare class FabricRoomSessionMemberAPI extends BaseComponent<FabricRoomSessionMemberEvents> implements FabricMemberContract {
    private _payload;
    constructor(options: FabricRoomSessionMemberOptions);
    get id(): string;
    get callId(): string;
    get nodeId(): string;
    get memberId(): string;
    get roomSessionId(): string;
    get roomId(): string;
    get parentId(): string | undefined;
    get name(): string;
    get type(): import("@signalwire/core").VideoMemberType;
    get requestedPosition(): import("@signalwire/core").VideoPosition;
    get currentPosition(): import("@signalwire/core").VideoPosition | undefined;
    get meta(): Record<string, unknown> | undefined;
    get handraised(): boolean;
    get talking(): boolean | undefined;
    get audioMuted(): boolean;
    get videoMuted(): boolean;
    get deaf(): boolean;
    get visible(): boolean;
    get inputVolume(): number;
    get outputVolume(): number;
    get inputSensitivity(): number;
    get subscriberData(): {
        fabricSubscriberName: string;
        fabricAddressId: string;
        fabricSubscriberId: string;
    } | undefined;
    /** @internal */
    setPayload(payload: FabricMemberEventParams): void;
}
export declare const createFabricRoomSessionMemberObject: (params: FabricRoomSessionMemberOptions) => FabricRoomSessionMember;
//# sourceMappingURL=FabricRoomSessionMember.d.ts.map