import type { Telemetry } from './telemetry.ts'; export interface OperationLogger { error(message: string, context?: () => any): void; warn(message: string, context?: () => any): void; info(message: string, context?: () => any): void; debug(message: string, context?: () => any): void; trace(message: string, context?: () => any): void; } export interface OperationContext { signal?: AbortSignal; operation?: string; tags?: Record; telemetry?: Telemetry; logger?: OperationLogger; } export declare function runWithContext(context: OperationContext, fn: () => Type): Type; export declare function getContext(): OperationContext | undefined; export declare function getOperationLogger(): OperationLogger; export declare function throwIfAborted(signal?: AbortSignal): void;