import { IDictionary, IReport, ThingOrThingGetter } from './contracts';
export declare class Util {
    static getDictValue: <T>(obj: IDictionary<T>, key: string) => T;
    static resolveObjectValue<T, T2>(key: string, obj: ThingOrThingGetter<T2>): T;
    static resolveOperatorValue<T>(value: ThingOrThingGetter<T>): T;
    static classOf<T>(o: T): any;
}
export declare class Reporter {
    private _id;
    private _start;
    private _duration;
    private _truths;
    private _falses;
    constructor(_id: string);
    start(): Reporter;
    stop(result: boolean): IReport;
    reset(): Reporter;
    getReport(): IReport;
}
