export declare class Matcher<T> {
    protected get actualValue(): T;
    protected get shouldMatch(): boolean;
    get not(): this;
    private _actualValue;
    private _shouldMatch;
    constructor(actualValue: T);
    toBe(expectedValue: T): void;
    toEqual(expectedValue: any): void;
    toBeDefined(): void;
    toBeNull(): void;
    toBeTruthy(): void;
    protected _registerMatcher(isMatch: boolean, failureMessage: string, expectedValue: any, extras?: {
        [prop: string]: any;
    }): void;
    protected _checkTypeMatcherEqual(expected: any, alternativeCheck: (expectedValue: T) => void): void;
    private toEqualCheck;
}
