/** 获取到文本后的填充模式 */
export declare enum FILL_MODE {
    /** 填充到消息 */
    MESSAGE = "message",
    /** 填充到输入框 */
    INPUT = "input"
}
/** 录音状态 */
export declare enum RECORD_STATUS {
    /** 初始 */
    DEFAULT = 1,
    /** 录音中 */
    RECORDING = 2,
    /** 暂停 */
    PAUSED = 3
}
/** 录音回调消息 */
export interface IRecordMessage {
    /** id */
    id?: string;
    /** 是否格式化 */
    format?: boolean;
    /** 转译的文本 */
    text: string;
    /** 消息类型，add表示新增消息，update表示更新消息，setInputText表示填充输入框文本 */
    method: 'add' | 'update' | 'setInputText';
}
/** 开始录音的参数 */
interface StartRecordOptions {
    /** 会话id，用于唯一标识会话，必填 */
    conversationId: string;
    /** 填充模式，input表示填充进输入框, message表示填充进消息气泡 */
    fillMode: 'input' | 'message';
    /** 高亮关键字 */
    keywords?: string[];
    /** 收音的最小音量，1-100 */
    minPowerLevel?: number;
    /** 收音的最大音量，1-100 */
    maxPowerLevel?: number;
}
/** 录音信息 */
export interface RecordInfo {
    /** 录音状态 */
    recordStatus: RECORD_STATUS;
    /** 当前录音时长 */
    recordTime: string;
    /** 开始录音 */
    startRecord: (options: StartRecordOptions) => void;
    /** 停止录音 */
    stopRecord: () => void;
    /** 暂停录音 */
    pauseRecord: () => void;
    /** 继续录音 */
    continueRecord: () => void;
}
export default function useRecord({ onRecordMessage, onStartRecord, onContinueRecord, onPauseRecord, onStopRecord, }: {
    onRecordMessage: (params: IRecordMessage) => void;
    onStartRecord?: () => void;
    onContinueRecord?: () => void;
    onPauseRecord?: () => void;
    onStopRecord?: () => void;
}): RecordInfo;
export {};
