import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; import { TimeProvider } from '@paradoxical-io/common'; import { Lock, LockApi } from '@paradoxical-io/common-server'; import { EpochSeconds } from '@paradoxical-io/types'; import { Monitoring } from '../monitoring'; import { DynamoDao } from './mapper'; import { DynamoTableName } from './util'; export declare class DynamoLock implements LockApi { private readonly dynamo; private readonly tableName; private readonly timeProvider; private readonly logger; constructor({ dynamo, tableName, timeProvider, monitoring, }: { dynamo?: DynamoDBClient; tableName: DynamoTableName; timeProvider?: TimeProvider; monitoring?: Monitoring; }); tryAcquire(key: string, timeoutSeconds: number): Promise; } interface DynamoLockEntry { key: string; expiresAt: EpochSeconds; } export declare class DynamoLockEntryDao implements DynamoLockEntry, DynamoDao { key: string; expiresAt: EpochSeconds; } export {}; //# sourceMappingURL=dynamoLock.d.ts.map