import { type AudioTrack, LocalParticipant, Participant, Room } from 'livekit-client';
export interface RoomState {
    room?: Room;
    participants: Participant[];
    audioTracks: AudioTrack[];
    error?: Error;
}
export interface RoomOptions {
    sortParticipants?: (participants: Participant[]) => void;
}
/** @deprecated wrap your components in a <LiveKitRoom> component instead and use more granular hooks to track state you're interested in */
export declare function useRoom(room: Room, options?: RoomOptions): RoomState;
/**
 * Default sort for participants, it'll order participants by:
 * 1. dominant speaker (speaker with the loudest audio level)
 * 2. local participant
 * 3. other speakers that are recently active
 * 4. participants with video on
 * 5. by joinedAt
 */
export declare function sortParticipants(participants: Participant[], localParticipant?: LocalParticipant): void;
