import type { AutomationRouteBinding } from '../routes.js'; import { type AutomationStorePathConfig } from './paths.js'; interface AutomationRoutesSnapshot extends Record { version: 1; routes: AutomationRouteBinding[]; } export interface AutomationRouteStoreConfig { readonly path?: string | undefined; readonly configManager?: AutomationStorePathConfig | undefined; } export declare class AutomationRouteStore { private readonly store; /** Whole-file writes run one at a time, in call order. See StoreWriteQueue. */ private readonly writes; constructor(config?: string | AutomationRouteStoreConfig); load(): Promise; /** * Replace the file with `routes` as they are at THIS call, after every write * already queued has finished. Ordering, not the snapshot point, is what was * missing: `PersistentStore.persist` is atomic but says nothing about which * of two in-flight writes lands last, and `AutomationService.upsertRun`, * `upsertRoute` and `removeJob` all rewrite this whole file. */ save(routes: readonly AutomationRouteBinding[]): Promise; } export {}; //# sourceMappingURL=routes.d.ts.map