import type { CanonicalAction } from './types/task-context-envelope.js'; export type ToolFieldClass = 'locked' | 'constrained' | 'advisory' | 'transport'; export interface ToolFieldPolicyV1 { class: ToolFieldClass; type?: 'string' | 'number' | 'boolean' | 'array' | 'object'; enum?: Array; minimum?: number; maximum?: number; pattern?: string; } export interface ToolFieldManifestV1 { schemaVersion: 'tool-field-manifest.v1'; tool: string; version: string; fields: Record; } export interface ActionLeaseV1 { schemaVersion: 'action-lease.v1'; leaseId: string; taskSpecHash: string; taskDefinitionHash?: string; actionAuthorityHash: string; channelPlanHash?: string; domainActionPlanHash: string; strongEvidenceRefs?: string[]; fencingToken?: number; manifestVersion: string; tool: string; projectRealpathHash: string; operationMode: string; lockedInputHash: string; targets: Array<{ identityId: string; path: string; expectedState: 'existing' | 'missing' | 'unknown'; contentHash?: string; }>; verificationPlanHash: string; issuedAt: number; expiresAt: number; leaseHash: string; } export declare function canonicalToolFieldManifest(action: CanonicalAction): ToolFieldManifestV1; export declare function issueActionLease(input: { taskSpecHash: string; action: CanonicalAction; manifest: ToolFieldManifestV1; projectRoot: string; targets: ActionLeaseV1['targets']; issuedAt?: number; ttlMs?: number; taskDefinitionHash?: string; actionAuthorityHash: string; channelPlanHash?: string; domainActionPlanHash: string; strongEvidenceRefs?: string[]; fencingToken?: number; }): ActionLeaseV1; export declare function validateActionLease(input: { lease: ActionLeaseV1; manifest: ToolFieldManifestV1; authenticated: boolean; activeTaskSpecHash: string; projectRoot: string; toolName: string; operationMode: string; args: Record; currentTargets: ActionLeaseV1['targets']; now?: number; activeTaskDefinitionHash?: string; activeActionAuthorityHash: string; activeChannelPlanHash?: string; activeDomainActionPlanHash: string; minimumFencingToken?: number; }): { valid: true; } | { valid: false; reason: string; }; export declare function projectRealpathHash(projectRoot: string): string; //# sourceMappingURL=action-lease.d.ts.map