/**
 * STT for webchat voice attachments: merge transcripts into user text and track inbound voice for TTS trigger.
 */
import type { STTConfig } from '../../voice/stt/types.js';
import { type InboundAttachmentInput, type InternalAttachmentRoots } from './inbound-persist.js';
export declare function mergeSttConfigFromAppConfig(stt: Partial<STTConfig> | undefined, toolsMedia?: {
    models?: STTConfig['sharedModels'];
}): STTConfig;
export declare function isVoiceLikeAttachment(att: InboundAttachmentInput): boolean;
export declare function mergeVoiceTranscriptsIntoUserText(attachmentRoots: InternalAttachmentRoots, prepared: InboundAttachmentInput[] | undefined, userText: string, sttConfig: STTConfig, opts?: {
    skipVoiceTranscription?: boolean;
}): Promise<{
    text: string;
    inboundVoice: boolean;
    voiceTranscripts: string[];
}>;
