import type { THaibunEvent, TArtifactEvent, THaibunLogLevel } from '../schema/protocol.js'; import { TFeatureStep } from './defs.js'; export type TIsSecretFn = (name: string) => boolean; export interface IEventLogger { suppressConsole?: boolean; setStepperCallback?(callback: (event: THaibunEvent) => void): void; emit(event: THaibunEvent): void; log(featureStep: TFeatureStep, level: THaibunLogLevel, message: string, attributes?: Record): void; info(message: string, attributes?: Record): void; debug(message: string, attributes?: Record): void; warn(message: string, attributes?: Record): void; error(message: string, attributes?: Record): void; stepStart(featureStep: TFeatureStep, stepperName: string, actionName: string, stepArgs: Record, stepValuesMap: Record | undefined): void; stepEnd(featureStep: TFeatureStep, stepperName: string, actionName: string, ok: boolean, error: string | Error | undefined, stepArgs: Record, stepValuesMap: Record | undefined, topics: Record | undefined): void; artifact(featureStep: TFeatureStep, artifact: TArtifactEvent): void; } export declare class EventLogger implements IEventLogger { private stepperCallback?; suppressConsole: boolean; private isSecretFn; constructor(isSecretFn?: TIsSecretFn); setStepperCallback(callback: (event: THaibunEvent) => void): void; emit(event: THaibunEvent): void; log(featureStep: TFeatureStep, level: THaibunLogLevel, message: string, attributes?: Record): void; info(message: string, attributes?: Record): void; debug(message: string, attributes?: Record): void; warn(message: string, attributes?: Record): void; error(message: string, attributes?: Record): void; private emitLog; stepStart(featureStep: TFeatureStep, stepperName: string, actionName: string, stepArgs: Record, stepValuesMap: Record | undefined): void; stepEnd(featureStep: TFeatureStep, stepperName: string, actionName: string, ok: boolean, error: string | Error | undefined, stepArgs: Record, stepValuesMap: Record | undefined, topics: Record | undefined): void; /** * Emit an artifact event. The artifact should already be a valid TArtifactEvent * (parsed via the appropriate Zod schema like ImageArtifact.parse()). */ artifact(featureStep: TFeatureStep, artifact: TArtifactEvent): void; } //# sourceMappingURL=EventLogger.d.ts.map