import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
import type { ToolBootstrap } from "../runtime/ports/index.js";
import type { MediaPersistence } from "../runtime/infra/media-persistence.js";
import type { ModelPurpose } from "../runtime/infra/model-registry.js";
import type { LLMTransport } from "./provider-core-facade.js";
export interface BaseToolBootstrapDeps {
    verbose: boolean;
    toolBootstrap: ToolBootstrap;
    mediaPersistence?: MediaPersistence;
    log(message: string): void;
    sendNotification<M extends NotificationMethod>(method: M, params: NotificationMethodMap[M]): void;
    resolveClientForPurpose?(purpose: ModelPurpose): {
        transport: LLMTransport;
        apiKey: string;
        model: string;
    } | null;
    getTaskScopeKey?(): string | undefined;
}
export declare function configureBaseToolBootstrap(deps: BaseToolBootstrapDeps): void;
