import type { AnyPackageManifest, ToolAuthorization, ToolEffect } from "./types"; export type ManifestToolSecurityCode = "compensation_invalid" | "destination_binding_missing" | "destructive_hint_missing" | "field_binding_invalid" | "idempotency_missing" | "legacy_tool_omitted" | "public_effect_forbidden" | "read_only_hint_invalid" | "resource_binding_missing" | "reversibility_missing" | "scope_missing" | "spend_binding_missing" | "tool_authorization_missing"; export type ManifestToolSecurityIssue = { code: ManifestToolSecurityCode; message: string; severity: "error" | "warning"; toolName: string; }; export type ManifestToolSecurityPosture = { approval: ToolAuthorization["approval"] | null; audience: ToolAuthorization["audience"] | null; effects: ReadonlyArray; issues: ReadonlyArray; remotelyCallable: boolean; status: "guarded" | "invalid" | "legacy-omitted"; toolName: string; }; export type ManifestSecurityPosture = { issues: ReadonlyArray; readyForRemoteTools: boolean; tools: ReadonlyArray; }; export declare const inspectManifestSecurity: (manifest: AnyPackageManifest) => ManifestSecurityPosture; export declare const digestToolInput: (value: unknown) => Promise<`sha256:${string}`>;