import type { PortableTool } from "../portable-tool.js";
export declare const TTS_TOOL_NAME: "tts";
export interface TtsToolParams {
    text: string;
    channel?: string;
    voice?: string;
    speed?: number;
}
export declare const TTS_TOOL_SCHEMA: {
    readonly type: "object";
    readonly properties: {
        readonly text: {
            readonly type: "string";
            readonly description: "Text to convert to speech.";
        };
        readonly channel: {
            readonly type: "string";
            readonly description: "Optional channel id to pick output format (e.g. telegram).";
        };
        readonly voice: {
            readonly type: "string";
            readonly description: string;
        };
        readonly speed: {
            readonly type: "number";
            readonly description: "Speech speed multiplier (0.25-4.0). Default is 1.0.";
        };
    };
    readonly required: readonly ["text"];
};
export interface TtsResult {
    audioPath: string;
    provider?: string;
    voiceCompatible?: boolean;
    mediaUrls: string[];
}
/** Deps injected by the host runtime for TTS. */
export interface TtsToolDeps {
    /**
     * Convert text to speech via the configured backend.
     * The host handles voice selection, format conversion, and storage.
     */
    textToSpeech(params: {
        text: string;
        channel?: string;
        voice?: string;
        speed?: number;
    }): Promise<TtsResult>;
}
export declare function createTtsTool(deps: TtsToolDeps): PortableTool<TtsToolParams>;
