import type { TurnConfig } from "../agent/types.js";
import { type ModelRegistry } from "../runtime/infra/model-registry.js";
import { type MediaClient } from "./provider-core-facade.js";
interface MediaUsageRecorder {
    addMediaUsage(model: string, billingUnit: string, quantity: number): void;
}
export interface TurnMediaSetupHost {
    mediaClient: MediaClient;
    currentMediaApiKeys: Record<string, string> | null;
    sessionState?: MediaUsageRecorder | null;
    sendNotification(method: string, params: Record<string, unknown>): void;
}
export declare function deriveMediaProvidersFromBindings(registry: Pick<ModelRegistry, "getBinding">): TurnConfig["mediaProviders"];
export declare function configureTurnMedia(params: {
    host: TurnMediaSetupHost;
    config?: Record<string, unknown>;
    turnId: string;
}): void;
export {};
