import { AssertionPromise } from "./assertion-promise";
import { iAssertion, iAssertionIs, iValue } from "./interfaces";
export declare class ValuePromise extends Promise<iValue> implements PromiseLike<iValue> {
    static execute(func: () => Promise<iValue>): ValuePromise;
    static create(value: iValue | Promise<iValue>): ValuePromise;
    private constructor();
    get is(): Promise<iAssertionIs>;
    get not(): Promise<iAssertion>;
    equals(value: any): AssertionPromise;
    exactly(value: any): AssertionPromise;
    like(value: any): AssertionPromise;
    contains(value: any): AssertionPromise;
    greaterThan(value: any): AssertionPromise;
    lessThan(value: any): AssertionPromise;
    greaterThanOrEquals(value: any): AssertionPromise;
    lessThanOrEquals(value: any): AssertionPromise;
    between(min: any, max: any): AssertionPromise;
    matches(value: any): AssertionPromise;
    startsWith(value: any): AssertionPromise;
    endsWith(value: any): AssertionPromise;
    includes(value: any): AssertionPromise;
    assert: (message: string) => AssertionPromise;
    exists: () => Promise<iValue>;
    private _promisifyAssertMethod;
    private _promisifyAssertProperty;
    private _promisifyMethod;
    private _promisifyProperty;
}
