import type { Config } from "../config"; import { type ProfilerConsole } from "./output/console"; import { BootstrapProbe } from "./runtime/bootstrap-probe"; import type { ProfilerRuntimeLike } from "./runtime/types"; import type { ProfilerOperationName, ProfilerPartialReason, ProfilerResultV1, ProcessRef } from "./schema"; interface ProfilerResultEmitter { (result: Readonly): Promise | unknown; } interface ProfilerManagerOptions { output?: ProfilerConsole; process?: ProcessRef; runId?: string; /** Amount added to local wall-clock timestamps to align them with the main process. */ clockOffsetMs?: number; /** Estimated maximum error of the supplied clock alignment. */ clockUncertaintyMs?: number; } export declare class ProfilerManager { private readonly _config; private readonly _projectRoot; private _sanitizer?; private readonly _console?; private _probe?; private _runtime?; private _active?; private _emitResult?; private _lastResult?; /** In-flight finalize; concurrent callers (SIGINT + profileOperation finally) share one result. */ private _finalizePromise?; private readonly _process; private readonly _initialRunId?; private readonly _clockOffsetMs; private readonly _clockUncertaintyMs?; constructor(config: Config, probe: BootstrapProbe, options?: ProfilerManagerOptions); get runtime(): ProfilerRuntimeLike; get lastResult(): Readonly | undefined; isEnabled(): boolean; setResultEmitter(emitter: ProfilerResultEmitter): void; profileOperation(name: ProfilerOperationName, action: () => T | Promise): Promise; finalizeSetupError(error: unknown): Promise; addPartialReason(reason: ProfilerPartialReason): void; abort(reason: ProfilerPartialReason): void; sanitizeMessage(message: string): string; finalize(): Promise | undefined>; finalizeSafely(): Promise; private _finalizeOnce; private _buildResult; private _deliverResult; private _ensureRuntime; private _getSanitizer; private _createRuntime; private _activateOperation; private _warnDelivery; } export {};