import { Instruction } from './instruction';
import { Snapshot } from './snapshot';
import { Step } from './step';
import { StepRun } from './step-run';
import { StepStatus } from './step-status';
export declare class DefaultStep implements Step {
    instruction: Instruction;
    runs: Readonly<StepRun[]>;
    constructor(instruction: Instruction);
    get status(): StepStatus;
    get begin(): Snapshot | undefined;
    get end(): Snapshot | undefined;
    get error(): Error | undefined;
    get retries(): StepRun[];
    get retryCount(): number;
    get firstRun(): StepRun | undefined;
    get lastRun(): StepRun | undefined;
    get flaky(): boolean;
    get duration(): number | undefined;
    onBegin(snapshot: Snapshot): DefaultStep;
    onRetry(snapshot: Snapshot, error: Error): DefaultStep;
    onEnd(snapshot: Snapshot, error?: Error): DefaultStep;
    private static determineLastRunStatus;
}
