import type { TaskCommand } from '@teachagenthub/contracts';
import { AsrStreamStartRespDto, AsrTextRespDto, InvokeRespDto, UnderstandRespDto } from '../dto';
import { ModelService } from '../service/model.service';
interface AsrReq {
    audioBase64: string;
}
interface AsrStreamStartReq {
    sessionId: string;
    codec?: string;
    sampleRate?: number;
    languageHints?: string[];
}
interface AsrStreamAppendReq {
    streamId: string;
    audioBase64: string;
    chunkSeq?: number;
}
interface AsrStreamStopReq {
    streamId: string;
}
interface ParseIntentReq {
    sessionId: string;
    connectionId: string;
    ipcIp: string;
    targetType: 'agv' | 'arm' | 'both';
    text: string;
}
interface UnderstandReq {
    sessionId: string;
    connectionId: string;
    ipcIp: string;
    targetType: 'agv' | 'arm' | 'both';
    modality?: 'text' | 'audio' | 'video';
    text?: string;
    audioBase64?: string;
    videoBase64?: string;
    hintText?: string;
}
export declare class ModelController {
    private readonly model;
    constructor(model: ModelService);
    transcribe(body: AsrReq): Promise<AsrTextRespDto>;
    streamStart(body: AsrStreamStartReq): Promise<AsrStreamStartRespDto>;
    streamAppend(body: AsrStreamAppendReq): Promise<AsrTextRespDto>;
    streamStop(body: AsrStreamStopReq): Promise<AsrTextRespDto>;
    parseIntent(body: ParseIntentReq): Promise<TaskCommand>;
    invoke(body: ParseIntentReq): Promise<InvokeRespDto>;
    understand(body: UnderstandReq): Promise<UnderstandRespDto>;
}
export {};
