import { Track } from 'livekit-client';
import { TrackReferenceOrPlaceholder } 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;
    client?: any;
}
export interface UseAgentControlBarReturn {
    micTrackRef: TrackReferenceOrPlaceholder;
    visibleControls: ControlBarControls;
    microphoneToggle: {
        enabled: boolean;
        pending: boolean;
        toggle: (enabled?: boolean) => Promise<void>;
    };
    cameraToggle: {
        enabled: boolean;
        pending: boolean;
        toggle: (enabled?: boolean) => Promise<void>;
    };
    screenShareToggle: {
        enabled: boolean;
        pending: boolean;
        toggle: (enabled?: boolean) => Promise<void>;
    };
    handleDisconnect: () => void;
    handleAudioDeviceChange: (deviceId: string) => void;
    handleVideoDeviceChange: (deviceId: string) => void;
}
export declare function useAgentControlBar(props?: UseAgentControlBarProps): UseAgentControlBarReturn;
