import { IEmpiricalPolicy } from '../models/EmpiricalPolicy';
import { State } from '../models/State';
import { StateType } from '../models/StateType';
import { TaskInput } from '../models/TaskInput';
export interface ITaskRun {
    id: string;
    flowRunId: string | null;
    cacheExpiration: string | null;
    cacheKey: string | null;
    created: Date;
    dynamicKey: string;
    empiricalPolicy: IEmpiricalPolicy | null;
    estimatedRunTime: number | null;
    estimatedStartTimeDelta: number | null;
    totalRunTime: number | null;
    expectedStartTime: Date | null;
    nextScheduledStartTime: Date | null;
    runCount: number | null;
    name: string | null;
    taskInputs: Record<string, TaskInput[]> | null;
    taskKey: string;
    taskVersion: string | null;
    updated: Date;
    startTime: Date | null;
    endTime: Date | null;
    stateId: string | null;
    stateType: StateType | null;
    stateName: string | null;
    state: State | null;
    tags: string[] | null;
}
export declare class TaskRun implements ITaskRun {
    readonly id: string;
    readonly flowRunId: string | null;
    readonly kind = "taskRun";
    cacheExpiration: string | null;
    cacheKey: string | null;
    created: Date;
    dynamicKey: string;
    empiricalPolicy: IEmpiricalPolicy | null;
    estimatedRunTime: number | null;
    estimatedStartTimeDelta: number | null;
    totalRunTime: number | null;
    expectedStartTime: Date | null;
    nextScheduledStartTime: Date | null;
    runCount: number | null;
    name: string | null;
    taskInputs: Record<string, TaskInput[]> | null;
    taskKey: string;
    taskVersion: string | null;
    updated: Date;
    startTime: Date | null;
    endTime: Date | null;
    stateId: string | null;
    stateType: StateType | null;
    stateName: string | null;
    state: State | null;
    tags: string[] | null;
    constructor(taskRun: ITaskRun);
    get duration(): number;
}
