import { Track } from 'livekit-client';
import { TrackReferenceOrPlaceholder, useTrackToggle } from '@livekit/components-react';
export interface ControlBarControls {
    microphone?: boolean;
    screenShare?: boolean;
    chat?: boolean;
    camera?: boolean;
    leave?: boolean;
}
export interface UseAgentControlBarProps {
    controls?: ControlBarControls;
    saveUserChoices?: boolean;
    onDeviceError?: (error: {
        source: Track.Source;
        error: Error;
    }) => void;
}
export interface UseAgentControlBarReturn {
    micTrackRef: TrackReferenceOrPlaceholder;
    visibleControls: ControlBarControls;
    microphoneToggle: ReturnType<typeof useTrackToggle<Track.Source.Microphone>>;
    cameraToggle: ReturnType<typeof useTrackToggle<Track.Source.Camera>>;
    screenShareToggle: ReturnType<typeof useTrackToggle<Track.Source.ScreenShare>>;
    handleDisconnect: () => void;
    handleAudioDeviceChange: (deviceId: string) => void;
    handleVideoDeviceChange: (deviceId: string) => void;
}
export declare function useAgentControlBar(props?: UseAgentControlBarProps): UseAgentControlBarReturn;
