//#region src/instrumentation.d.ts export type AsyncContext = { getStore(): T | undefined; run(store: T, fn: () => R): R; }; export type TimingKind = "db" | "page" | "route" | "rsc" | "view" | "cache"; export type TimingEvent = { kind: TimingKind; label: string; durationMs: number; detail?: string; }; export type RequestTrace = { id: string; startedAt: number; events: TimingEvent[]; reads?: Set; writes?: Set; }; export declare function installTraceContext(context: AsyncContext): void; export declare function tracingEnabled(): boolean; export declare function currentTrace(): RequestTrace | undefined; export declare function runWithTrace(trace: RequestTrace, fn: () => T): T; export declare function recordTableRead(table: string): void; export declare function recordTableWrite(table: string): void; export declare function recordTiming(kind: TimingKind, label: string, durationMs: number, detail?: string): void; export declare function measure(kind: TimingKind, label: string, fn: () => T | Promise, detail?: string): Promise; export declare function timingTotal(trace: RequestTrace, kind: TimingKind): number; export declare function requestDuration(trace: RequestTrace): number; export declare function timingSummary(trace: RequestTrace): string; export declare function logStarted(request: Request, trace: RequestTrace): void; export declare function logProcessing(routeFile: string): void; export declare function logCompleted(response: Response, trace: RequestTrace): void; //#endregion