import { iLogItem, iConsoleLine, iAssertionResult } from '../interfaces';
import { LogItemType } from '../enums';
import { LogItem } from './logitem';
export declare abstract class AssertionResult extends LogItem implements iLogItem, iAssertionResult {
    readonly type: LogItemType;
    abstract className: string;
    abstract toConsole(): iConsoleLine[];
    protected _rawDetails: any;
    protected _sourceCode: any;
    protected _highlight: string;
}
export declare class AssertionPass extends AssertionResult implements iLogItem {
    readonly className: string;
    readonly passed: boolean;
    constructor(message: string);
    toConsole(): iConsoleLine[];
}
export declare class AssertionActionCompleted extends AssertionPass implements iLogItem {
    protected _verb: string;
    protected _noun: string;
    constructor(verb: string, noun: string);
    toConsole(): iConsoleLine[];
}
export declare class AssertionFail extends AssertionResult implements iLogItem {
    readonly className: string;
    readonly failed: boolean;
    constructor(message: string, errorDetails: any, sourceCode?: any, highlight?: string);
    readonly isDetails: boolean;
    readonly sourceCode: string;
    readonly detailsMessage: string;
    toConsole(): iConsoleLine[];
}
export declare class AssertionFailOptional extends AssertionFail implements iLogItem {
    readonly className: string;
    readonly isOptional: boolean;
    toConsole(): iConsoleLine[];
}
export declare class AssertionFailWarning extends AssertionFail implements iLogItem {
    readonly className: string;
    readonly isOptional: boolean;
    toConsole(): iConsoleLine[];
}
export declare class AssertionActionFailed extends AssertionPass implements iLogItem {
    protected _verb: string;
    protected _noun: string;
    constructor(verb: string, noun: string);
    toConsole(): iConsoleLine[];
}
