export declare type LoggerFunction = (msg: string) => void;
export declare function setLogger(loggerFn: LoggerFunction): void;
export declare function logger(reason: Error | undefined, promise: TraceablePromise<any>, pid?: number | undefined): void;
export declare type PromiseResolver<T> = (value: T | PromiseLike<T>) => void;
export declare type PromiseRejecter = (reason?: any) => void;
export declare type PromiseConstructor<T> = (resolve: PromiseResolver<T>, reject: PromiseRejecter) => void;
export declare class TraceablePromise<T> extends Promise<T> {
    __tracedError?: Error;
    constructor(executor: PromiseConstructor<T>);
}
