/// <reference types="node" />
import { iAssertionContext, iAssertion, iAssertionResult, IteratorCallback, JsonSchema } from "./interfaces";
export declare class Assertion implements iAssertion {
    get and(): iAssertion;
    get type(): iAssertion;
    get length(): iAssertion;
    get trim(): iAssertion;
    get keys(): iAssertion;
    get values(): iAssertion;
    get not(): iAssertion;
    get optional(): iAssertion;
    get result(): Promise<iAssertionResult | null>;
    get assertionMade(): boolean;
    get isFinalized(): boolean;
    get name(): string;
    get passed(): boolean | null;
    private get isFlagpoleValue();
    private _context;
    private _ajv;
    private _input;
    private _message;
    private _not;
    private _optional;
    private _result;
    private _finishedPromise;
    private _finishedResolver;
    private _statement;
    private _assertionMade;
    private _defaultMessages;
    static create(context: iAssertionContext, thisValue: any, message?: string): Promise<Assertion>;
    constructor(context: iAssertionContext, thisValue: any, message?: string | null);
    visible(): Promise<iAssertion>;
    hidden(): Promise<iAssertion>;
    hasValue(value: any): Promise<iAssertion>;
    hasProperty(key: string, value?: string): Promise<iAssertion>;
    hasAttribute(key: string, value?: string): Promise<iAssertion>;
    hasClassName(key: string, value?: string): Promise<iAssertion>;
    hasData(key: string, value?: string): Promise<iAssertion>;
    hasText(text: string): Promise<iAssertion>;
    hasTag(tagName?: string): Promise<iAssertion>;
    exactly(value: any): iAssertion;
    equals(value: any): iAssertion;
    like(value: any): iAssertion;
    greaterThan(value: any): iAssertion;
    greaterThanOrEquals(value: any): iAssertion;
    lessThan(value: any): iAssertion;
    lessThanOrEquals(value: any): iAssertion;
    between(min: any, max: any): iAssertion;
    matches(value: any): iAssertion;
    contains(value: any): iAssertion;
    looksLike(imageData: Buffer): iAssertion;
    looksLike(imageLocalPath: string): iAssertion;
    looksLike(imageData: Buffer, threshold: number): iAssertion;
    looksLike(imageLocalPath: string, threshold: number): iAssertion;
    looksLike(imageData: Buffer, thresholdPercent: string): iAssertion;
    looksLike(imageLocalPath: string, thresholdPercent: string): iAssertion;
    startsWith(value: any): iAssertion;
    endsWith(value: any): iAssertion;
    in(values: any[]): iAssertion;
    includes(value: any): iAssertion;
    exists(): iAssertion;
    resolves(continueOnReject?: boolean): Promise<iAssertion>;
    rejects(continueOnReject?: boolean): Promise<any>;
    none(callback: IteratorCallback): Promise<iAssertion>;
    every(callback: IteratorCallback): Promise<iAssertion>;
    everySync(callback: IteratorCallback): iAssertion;
    map(callback: IteratorCallback): Promise<iAssertion>;
    some(callback: IteratorCallback): Promise<iAssertion>;
    schema(schemaName: string, simple?: boolean): Promise<iAssertion>;
    schema(schema: JsonSchema, simple?: boolean): Promise<iAssertion>;
    assert(message: string, value: any): iAssertion;
    assert(value: any): iAssertion;
    comment(input: any): iAssertion;
    as(aliasName: string): iAssertion;
    private _loadSchemaValidator;
    private _returnsPromise;
    private _getMessage;
    private _getSourceCode;
    private _getHighlightText;
    private _getActualValueText;
    private _evalulate;
    private _getCompareValue;
    private _getName;
    private _getSubject;
    private _resolveAssertion;
    private _setDefaultMessages;
    protected _is(method: string, item?: any): Promise<boolean>;
    protected _hasKeyValue(method: string, key: string, value?: any, item?: any): Promise<boolean>;
    protected _hasValue(method: string, value?: any, item?: any): Promise<boolean>;
}
