import { type ChildProcessWithoutNullStreams } from 'node:child_process'; export interface CanonicalModeBindingIdentity { path: string; leasePath: string; namespacePath: string; stateRootPath: string; stateRootIdentity: { dev: number; ino: number; } | null; } export declare function assertCanonicalModeBindingLeaseSupported(): void; export declare function resolveValidatedCanonicalModeBinding(path: string, authorizedBaseStateDir?: string): Promise; export declare function withCanonicalModeBindingLease(binding: CanonicalModeBindingIdentity, operation: () => Promise): Promise; export declare function withModeBindingOwnerTransaction(path: string, work: () => Promise, authorizedBaseStateDir?: string): Promise; export declare function outsideModeBindingOwnerTransaction(work: () => T): T; export declare function assertModeBindingOwnerIdentity(path: string, authorizedBaseStateDir?: string): Promise; declare const canonicalModeBindingLeaseTestHooks: { afterAcquire?: (namespacePath: string) => void | Promise; onHelperSpawn?: (child: ChildProcessWithoutNullStreams) => void; platform?: NodeJS.Platform; }; export declare function __setCanonicalModeBindingLeaseTestHooksForTests(hooks: typeof canonicalModeBindingLeaseTestHooks): void; export {}; //# sourceMappingURL=mode-binding-lease.d.ts.map