import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb'; import { MigrationTracker, MigrationRecord, SchemaChange, MigrationConfig } from '../types'; /** Default lock TTL in seconds. Configurable via MigrationConfig.lockTtlSeconds. */ export declare const DEFAULT_LOCK_TTL_SECONDS = 300; export interface MigrationTrackerHandle extends MigrationTracker { readonly lockTtlSeconds: number; acquireLock(): Promise; refreshLock(): Promise; releaseLock(): Promise; initialize(): Promise; getAppliedMigrations(): Promise; getCurrentVersion(): Promise; markAsApplied(version: string, name: string, schemaDefinition?: Record, schemaChanges?: SchemaChange[], checksum?: string): Promise; markAsRolledBack(version: string, previousVersion?: string): Promise; markAsFailed(version: string, error: string): Promise; recordSchemaChange(change: SchemaChange): Promise; getMigration(version: string): Promise; isApplied(version: string): Promise; } /** * Create a DynamoDB-backed migration tracker. * * The tracker carries one piece of genuinely mutable state: the current * lock id, set by `acquireLock()` and cleared by `releaseLock()`. Everything * else is derived from the config or read from DynamoDB on demand. */ export declare const createMigrationTracker: (client: DynamoDBDocumentClient, config: MigrationConfig) => MigrationTrackerHandle; //# sourceMappingURL=tracker.d.ts.map