import { ButtonProps } from 'ant-design-vue';
import { type MaybeRefOrGetter, type ComputedRef, type Ref } from 'vue';
export type ControlledSpeechConfig = {
    recording?: boolean;
    onRecordingChange?: (recording: boolean) => void;
    audioIcon?: ButtonProps['icon'];
    audioDisabledIcon?: ButtonProps['icon'];
    audioRecordingIcon?: ButtonProps['icon'];
};
export type AllowSpeech = boolean | ControlledSpeechConfig;
export type UseSpeechReturn = {
    speechPermission: ComputedRef<boolean>;
    triggerSpeech: (forceBreak: boolean) => void;
    recording: Ref<boolean>;
};
export default function useSpeech(onSpeech: (transcript: string) => void, allowSpeech?: MaybeRefOrGetter<AllowSpeech>): UseSpeechReturn;
