import type { BaseToolDependencyDeclaration, BaseToolFamily, BaseToolRiskLevel } from "../../agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js";
import { type BaseToolRuntimeSupportStatus, type BaseToolSupportCatalogOptions } from "./baseToolSupportCatalog.js";
export type BaseToolRegistryMountStatus = "mounted" | "missing";
export type BaseToolStorageRealityStatus = "canonical" | "incomplete" | "missing-storage";
export type BaseToolExecutorSupportRealityStatus = "hostReady" | "adapterRequired" | "notReady";
export type BaseToolDependencyRealityStatus = "available" | "missing" | "installable" | "requiresApproval" | "blocked" | "providerUnavailable";
export type BaseToolLiveRealityStatus = "liveReady" | "notProven";
export type BaseToolRealityCapabilityClass = "contextMaterial" | "contextSearch" | "governedAuthoring" | "hostRuntime" | "externalAdapter";
export type BaseToolRealityProjection = "promptPackMaterial" | "runtimeObservation" | "authoringArtifact";
export type BaseToolRealityLiveGate = "noModelSmoke" | "dialogueSmoke" | "adapterSmoke";
export type BaseToolRealityStageStatus = "ready" | "notReady" | "requiresApproval" | "adapterRequired" | "notProven";
export type BaseToolDeveloperReadiness = "ready" | "usableWithApproval" | "adapterRequired" | "contractIncomplete" | "notLiveProven";
export type BaseToolRealityStages = {
    mounted: BaseToolRealityStageStatus;
    contractReady: BaseToolRealityStageStatus;
    hostReady: BaseToolRealityStageStatus;
    dependencyReady: BaseToolRealityStageStatus;
    liveReady: BaseToolRealityStageStatus;
};
export type BaseToolRealityLedgerEntry = {
    toolId: string;
    family: BaseToolFamily;
    storageFamily: string;
    group: string;
    title: string;
    riskLevel: BaseToolRiskLevel;
    registry: BaseToolRegistryMountStatus;
    storage: BaseToolStorageRealityStatus;
    executorSupport: BaseToolExecutorSupportRealityStatus;
    dependencyStatus: BaseToolDependencyRealityStatus;
    liveStatus: BaseToolLiveRealityStatus;
    capabilityClass: BaseToolRealityCapabilityClass;
    projection: BaseToolRealityProjection;
    modelRequired: boolean;
    recommendedLiveGate: BaseToolRealityLiveGate;
    stages: BaseToolRealityStages;
    developerReadiness: BaseToolDeveloperReadiness;
    readiness: BaseToolRuntimeSupportStatus;
    requiredPorts: readonly string[];
    missingPorts: readonly string[];
    adapterRequiredPorts: readonly string[];
    approvalRequiredSupports: readonly string[];
    dependencies: readonly BaseToolDependencyDeclaration[];
    sourcePath?: string;
    storageDocPath: string;
    storageFiles: {
        core: boolean;
        bestPractice: boolean;
        dependencies: boolean;
        markdown: boolean;
    };
    notes: readonly string[];
};
export type BaseToolRealityLedgerSnapshot = {
    total: number;
    expectedTotal: number;
    byFamily: Readonly<Record<BaseToolFamily, number>>;
    byStorage: Readonly<Record<BaseToolStorageRealityStatus, number>>;
    byExecutorSupport: Readonly<Record<BaseToolExecutorSupportRealityStatus, number>>;
    byDependencyStatus: Readonly<Record<BaseToolDependencyRealityStatus, number>>;
    byLiveStatus: Readonly<Record<BaseToolLiveRealityStatus, number>>;
    stageCounts: {
        mounted: number;
        contractReady: number;
        hostReady: number;
        dependencyReady: number;
        liveReady: number;
        adapterRequired: number;
    };
    developerReadiness: Readonly<Record<BaseToolDeveloperReadiness, number>>;
    entries: readonly BaseToolRealityLedgerEntry[];
};
export type BaseToolRealityLedgerOptions = BaseToolSupportCatalogOptions & {
    implementedPortPaths?: readonly string[];
    liveProvenToolIds?: readonly string[];
};
export declare function createBaseToolRealityLedger(options?: BaseToolRealityLedgerOptions): readonly BaseToolRealityLedgerEntry[];
export declare function snapshotBaseToolRealityLedger(options?: BaseToolRealityLedgerOptions): BaseToolRealityLedgerSnapshot;
export declare function inspectBaseToolReality(toolId: string, options?: BaseToolRealityLedgerOptions): BaseToolRealityLedgerEntry | undefined;
export declare const baseToolRealityLedgerDescriptor: {
    readonly surface: "runtime.execEngine.baseToolRealityLedger";
    readonly catalogSource: "runtime.execEngine.baseToolSupportCatalog";
    readonly registryChainRequired: true;
    readonly storageCanonicalFiles: readonly ["core.ts", "bestPractice.ts", "dependencies.ts", "*.md"];
    readonly defaultLiveStatus: "notProven";
    readonly statusAxis: readonly ["mounted", "contractReady", "hostReady", "adapterReady", "liveReady"];
    readonly implementedAdaptersSource: "runtime.execEngine.baseToolExecutorPortFactory";
};
