import { ClientConfig } from 'aws-sdk';
import { Model, Queries } from 'vogels';
export declare class Lease {
    Lease: Model;
    shardId: string;
    expectedLeaseCounter: number;
    private checkpointedSequence;
    private static DB_TYPE;
    constructor(shardId: string, counter: number, table: string, conf: ClientConfig, dynamoEndpoint: string);
    getCheckpoint(callback: (err: any, checkpoint?: string) => void): void;
    private update(properties, callback);
    reserve(callback: (err: any) => void): void;
    checkpoint(checkpointedSequence: string, callback: (err: any) => void): void;
    markFinished(callback: (err: any) => void): void;
    static fetchAll(tableName: string, conf: ClientConfig, dynamoEndpoint: string, callback: (err: any, data: Queries.Query.Result) => void): void;
}
