import { type RuntimeExclusiveLease } from '@opensip-cli/core'; import { assertStablePromotionDirectory, closeStablePromotionDirectory, openStablePromotionDirectory, type StablePromotionDirectory } from './runtime-promotion-filesystem-io.js'; import type { RuntimePromotionJournal } from './runtime-promotion-journal-schema.js'; import type { RuntimePromotionDatastoreCandidate } from './runtime-promotion-preflight-datastore-types.js'; import type { RuntimePromotionProjectRootAuthority } from './runtime-promotion-root-authority.js'; export interface BoundRuntimePromotionDatastoreCandidate { readonly candidate: RuntimePromotionDatastoreCandidate; readonly runtimeRoot: StablePromotionDirectory; readonly ancestors: readonly StablePromotionDirectory[]; readonly databasePath: string; readonly assertAdditionalAuthority?: () => void; } export interface BoundRuntimePromotionDatastoreSet { readonly candidates: readonly BoundRuntimePromotionDatastoreCandidate[]; readonly coordinationRoot: StablePromotionDirectory; readonly coordinationAncestors: readonly StablePromotionDirectory[]; readonly lockPath: string; readonly directoryDependencies: RuntimePromotionDatastoreDirectoryDependencies; } export interface RuntimePromotionDatastoreDirectoryDependencies { readonly openStableDirectory: typeof openStablePromotionDirectory; readonly assertStableDirectory: typeof assertStablePromotionDirectory; readonly closeStableDirectory: typeof closeStablePromotionDirectory; } export declare function closeBoundRuntimePromotionDatastoreSet(bound: BoundRuntimePromotionDatastoreSet): void; export declare function bindRuntimePromotionDatastoreSet(input: { readonly candidates: readonly RuntimePromotionDatastoreCandidate[]; readonly journal: RuntimePromotionJournal; readonly lease: RuntimeExclusiveLease; readonly projectRootAuthority: RuntimePromotionProjectRootAuthority; }, dependencyOverrides?: Partial): BoundRuntimePromotionDatastoreSet; export declare function assertBoundRuntimePromotionDatastoreSet(input: { readonly lease: RuntimeExclusiveLease; readonly projectRootAuthority: RuntimePromotionProjectRootAuthority; }, bound: BoundRuntimePromotionDatastoreSet): void; //# sourceMappingURL=runtime-promotion-preflight-datastore-authority.d.ts.map