/// <reference types="node" />
import { iAssertionContext, iAssertion, iAssertionResult, IteratorCallback, JsonSchema, iAssertionIs, CompareCallback } from "./interfaces";
import { EvaluateFn, SerializableOrJSHandle } from "puppeteer-core";
export declare class Assertion implements iAssertion {
    get value(): any;
    get text(): string;
    get subject(): string;
    get is(): iAssertionIs;
    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 get context();
    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;
    in(values: any[]): iAssertion;
    includes(value: any): iAssertion;
    contains(value: any): iAssertion;
    looksLike(controlImage: string | Buffer, allowedDifference?: number | string): iAssertion;
    startsWith(value: any): iAssertion;
    endsWith(value: any): iAssertion;
    exists(): iAssertion;
    resolves(continueOnReject?: boolean): Promise<iAssertion>;
    rejects(continueOnReject?: boolean): Promise<any>;
    none(callback: IteratorCallback): Promise<iAssertion>;
    eval(js: EvaluateFn<any>, ...args: SerializableOrJSHandle[]): Promise<iAssertion>;
    evalEvery(js: EvaluateFn<any>, ...args: SerializableOrJSHandle[]): 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 _getErrorDetails;
    private _getValues;
    execute(bool: boolean, actualValue: any, highlightText?: string | null, expectedValue?: string): iAssertion;
    setDefaultMessage(message: string): iAssertion;
    setDefaultNotMessage(message: string): iAssertion;
    setDefaultMessages(notMessage: string, standardMessage: string): iAssertion;
    sort(compareFunc?: CompareCallback): iAssertion;
    private _getCompareValue;
    private _getName;
    private _resolveAssertion;
    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>;
}
