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 {};