export interface ValidationResult {
    success: boolean;
    hint?: string;
    reason: string;
    negatedReason: string;
    actual?: string;
    expected?: string;
}
export declare class Control<T> {
    actual: T;
    isNegated: boolean;
    private extraMessage?;
    testRunnerCtx: import("./test-runners").TestRunnerCtx | undefined;
    private stack;
    constructor(actual: T, isNegated: boolean, extraMessage?: string | undefined);
    assert: (result: ValidationResult) => void;
    fail: (result: Omit<ValidationResult, 'success' | 'negatedReason'>) => never;
}
