import { type ToolManifestEntry } from "./agent-runtime.js";
export interface ProviderToolContractView {
    readonly name: string;
    readonly schemaHash: string;
    readonly readOnly: boolean;
    readonly parallelSafe: boolean;
    readonly mutatesState: boolean;
    readonly cacheRelevant: boolean;
}
export interface ProviderFunctionToolPayload {
    readonly type: "function";
    readonly function: {
        readonly name: string;
        readonly description: string;
        readonly parameters: unknown;
    };
}
export interface ProviderToolPayloadBuildResult {
    readonly tools: readonly ProviderFunctionToolPayload[];
    readonly contracts: readonly ProviderToolContractView[];
    readonly toolPlaneHash: string;
}
export declare function buildProviderToolPayload(entries: readonly ToolManifestEntry[]): ProviderToolPayloadBuildResult;
export declare function assertToolPlaneHashMatchesPayload(payload: ProviderToolPayloadBuildResult): void;
