/** * Public mapped persistence orchestration. * * This module collects entity changes, fences the flush with a writer lease, * and delegates each lifecycle operation to the focused persistence helpers. */ import type { RegisteredSyncProjectionDefinition } from "../../../contracts/sheets/sheetsProvisioning.js"; import type { SqlStorageAdapter } from "../../../contracts/storage/sql.js"; import { type ScalarEntityFlushCoordinator } from "../../../contracts/storage/scalar.js"; import { type TypedSheetsEntityMapping, type TypedSheetsEntityMappingRegistry } from "../../mapping/entityMapping.js"; import { type CreateMappedTypedSheetsFlushCoordinatorOptions, type RegisteredTypedSheetsMappedProjection, type ResolvedWriterOptions, type TypedSheetsEntityWriterOptions } from "../support/contracts.js"; /** * Creates the built-in planner that makes `em.persist()` / `em.flush()` durable * in the entity table, canonical state, business-key index, and Sheets outbox * together. */ export declare function createMappedTypedSheetsFlushCoordinator(options: CreateMappedTypedSheetsFlushCoordinatorOptions): ScalarEntityFlushCoordinator; /** * Registers every mapping route under one writer fence. * * The return value can be passed directly to the existing provider provisioning * helper, so users never need to duplicate route names or header lists in Apps * Script configuration. */ export declare function registerTypedSheetsEntityMappings(storage: SqlStorageAdapter, mappingsInput: TypedSheetsEntityMappingRegistry | readonly TypedSheetsEntityMapping[], writerInput: TypedSheetsEntityWriterOptions): Promise; /** Converts registered mapping routes into provider provisioning definitions. */ export declare function registeredTypedSheetsProjectionDefinitions(registrations: readonly RegisteredTypedSheetsMappedProjection[]): readonly RegisteredSyncProjectionDefinition[]; /** Normalizes writer identity and lease settings for internal observation workers. */ export declare function resolveTypedSheetsEntityWriterOptions(options: TypedSheetsEntityWriterOptions): ResolvedWriterOptions; //# sourceMappingURL=flushCoordinator.d.ts.map