/// <reference types="debug" />
import type { TraceCallback, TraceRequest } from "@metamask/controller-utils";
export declare const log: import("debug").Debugger;
/**
 * Returns true when DEBUG=metamask:multichain-account-service, DEBUG=metamask:multichain-account-service:perf
 * or a matching glob is set.
 * Re-uses the same enable/disable logic as the rest of the package loggers.
 *
 * @returns True if performance logging is enabled, false otherwise.
 */
export declare function isPerfEnabled(): boolean;
/**
 * Starts a local performance timer. Returns a `tock` function that, when called,
 * logs the elapsed time for `label`.
 *
 * @example
 * ```ts
 * const tock = tick(request);
 * await createAccounts(...);
 * tock(); // logs: "${request.name}: 123.45ms"
 * ```
 *
 * @param request - A trace request object containing the name and optional data.
 * @returns A function that, when called, logs the elapsed time since `tick` was called.
 */
export declare function tick(request: TraceRequest): () => void;
/**
 * Wraps a trace callback with local performance logging.
 *
 * @param trace - The original trace callback to wrap.
 * @returns A new trace callback that logs the duration of the traced operation.
 */
export declare function withLocalPerfTrace(trace: TraceCallback): TraceCallback;
//# sourceMappingURL=perf.d.cts.map