import { MediaClient, ProviderRegistry, createLLMClient, isAsyncMediaTransport, type LLMTransport, type MediaCapability, type MediaRequest, type MediaResult, type ProviderToolAPI } from "@xiaozhiclaw/provider-core";
import { GeminiFileAPI } from "@xiaozhiclaw/provider-core/transports/gemini-file-api";
export { MediaClient, ProviderRegistry, createLLMClient, isAsyncMediaTransport, type LLMTransport, type MediaCapability, type MediaRequest, type MediaResult, type ProviderToolAPI, };
export declare function normalizeMediaProviderId(providerId: string): string;
export declare function resolveMediaApiKey(apiKeys: Record<string, string>, providerId: string): string | undefined;
export declare function createProviderToolAPIForSession(providerId: string | undefined, apiKey: string | undefined): ProviderToolAPI | undefined;
export declare function wrapDebugTransportIfEnabled(transport: LLMTransport, sessionId: string): LLMTransport;
export declare function isMiniMaxLyricsTransport(transport: unknown): transport is {
    generateLyrics(prompt: string, apiKey: string): Promise<string>;
};
export interface VolcengineFileTransport {
    uploadFile(blob: Blob, apiKey: string, options: {
        purpose: string;
        filename: string;
    }): Promise<{
        id: string;
        url?: string;
        fileId?: string;
        status?: string;
    }>;
    getFile(fileId: string, apiKey: string): Promise<Record<string, unknown>>;
    listFiles(apiKey: string, options: {
        limit: number;
    }): Promise<{
        data?: Array<Record<string, unknown>>;
    }>;
    deleteFile(fileId: string, apiKey: string): Promise<void>;
}
export declare function isVolcengineFileTransport(transport: unknown): transport is VolcengineFileTransport;
export declare function createGeminiFileApi(): GeminiFileAPI;
export declare function cleanGeminiToolSchema(schema: Record<string, unknown>): Record<string, unknown>;
