import { ModelDetails } from '../data';
export declare type RunningJob = {
    id: string;
    started: Date;
    ended?: Date;
    skipped: boolean;
    jobname: string;
    version: string;
    user: string;
};
export declare type StartJobArgs = {
    jobname: string;
    version: string;
    user: string;
};
export declare type EndJobArgs = StartJobArgs & {
    skipped?: boolean;
    ttl?: number;
};
export declare type GetRunningJobsArgs = {
    jobname: string;
    ttl?: number;
};
export declare type GetRunningJobArgs = {
    jobname: string;
    version: string;
    ttl?: number;
};
export declare type IRunningJobs = {
    startJob: (args: StartJobArgs) => Promise<RunningJob>;
    endJob: (args: EndJobArgs) => Promise<RunningJob | null>;
    getRunningJobs: (args: GetRunningJobsArgs) => Promise<Array<RunningJob>>;
    getSkippedJobs: (args: GetRunningJobsArgs) => Promise<Array<RunningJob>>;
    getJob: (args: GetRunningJobArgs) => Promise<RunningJob | undefined>;
};
export declare type RunningJobsOptionArgs = {
    dynamoDBRegion?: string;
    dynamoDbUri?: string;
};
export declare const RunningJobsModelDetails: ModelDetails<RunningJob>;
export declare const RunningJobs: ({ dynamoDBRegion, dynamoDbUri, }: RunningJobsOptionArgs) => Promise<IRunningJobs>;
//# sourceMappingURL=index.d.ts.map