import { RequestContext } from '../core/interfaces.js'; import { DatapromptRoute } from '../routing/server.js'; export interface LogContext { id: string; type: T; startTime: number; } export interface RequestLogContext extends LogContext<'request'> { route: DatapromptRoute; request: RequestContext; } export interface DataSourceLogEvent { route: string; source: string; variable: string; data: unknown; duration: number; } export interface FlowLogEvent { flowName: string; inputSchema: unknown; input: unknown; } export declare abstract class BaseLogger> { protected context: T; constructor(context: T); complete(): void; error(error: Error): void; get id(): string; dataSourceEvent(event: DataSourceLogEvent): Promise; flowEvent(event: FlowLogEvent): Promise; promptCompilationEvent(input: Record, options: Options): Promise; actionEvent(actionName: string, config: any, result: any): Promise; } export declare class RequestLogger extends BaseLogger { constructor(params: { route: DatapromptRoute; request: RequestContext; requestId?: string; }); } export interface LoggerStore { createRequestLogger(params: { route: DatapromptRoute; request: RequestContext; requestId?: string; }): RequestLogger; get(id: string): BaseLogger | undefined; } export declare function getLogManager(): LoggerStore; export declare function createLogStore(): LoggerStore; //# sourceMappingURL=logging.d.ts.map