export declare const tap: (g: (a: {}) => any) => (a: {}) => {};
export declare const trace: (a: A) => A;
declare const messageSymbol: SymbolConstructor;
interface Message {
value: any;
id: typeof messageSymbol;
}
export declare const label: (value: any) => Message;
export declare function log(a: A | Message, ...args: B[]): A extends Message ? (b: B) => B : B extends never ? A : (A | B)[];
export declare const traceMultiLabels: (...args: any[]) => (a: A) => A;
export declare const _traceWithLabel: any;
export declare function traceWithLabel(label: {}): (a: A) => A;
export declare function traceWithLabel(label: {}, a: A): A;
export declare const traceDebugger: (...args: any[]) => any[];
export declare const note: (...messages: any[]) => typeof log;
export declare const debug: (name: string, ...pluckTheseOffData: string[]) => (data: {}) => {};
export {};