import { Participant, TrackPublication } from 'livekit-client';
declare type TrackPublicationStatus = TrackPublication | undefined;
declare type TrackSource = 'video' | 'audio' | 'screenShare';
export declare class TargetParticipantFactory {
    static create: (participant: Participant) => Promise<TargetParticipant>;
}
export declare class TargetParticipant {
    #private;
    constructor(participant: Participant, videoTrackPublication: TrackPublicationStatus, audioTrackPublication: TrackPublicationStatus, screenShareTrackPublication: TrackPublicationStatus);
    get sid(): string;
    get identity(): string;
    get name(): string | undefined;
    get isLocal(): boolean;
    get isVideoEnabled(): boolean;
    get isAudioEnabled(): boolean;
    get isScreenShareEnabled(): false | import("livekit-client").LocalVideoTrack | import("livekit-client").RemoteVideoTrack;
    attachTrackToElement: (element: HTMLMediaElement, trackSource: TrackSource) => void;
    detachTrackFromElement: (element: HTMLMediaElement, trackSource: TrackSource) => void;
}
export {};
