export interface TelemetryEvent {
    type: string;
    runId: string;
    reason?: string;
    timestamp: number;
    metadata?: Record<string, any>;
}
export interface TelemetryAdapter {
    logEvent(event: TelemetryEvent): void;
    logKill(runId: string, reason: string, metadata?: Record<string, any>): void;
    logPolicyViolation(runId: string, policy: string, threshold: any, metadata?: Record<string, any>): void;
}
export declare class NoOpTelemetryAdapter implements TelemetryAdapter {
    logEvent(event: TelemetryEvent): void;
    logKill(runId: string, reason: string, metadata?: Record<string, any>): void;
    logPolicyViolation(runId: string, policy: string, threshold: any, metadata?: Record<string, any>): void;
}
export declare class ConsoleTelemetryAdapter implements TelemetryAdapter {
    logEvent(event: TelemetryEvent): void;
    logKill(runId: string, reason: string, metadata?: Record<string, any>): void;
    logPolicyViolation(runId: string, policy: string, threshold: any, metadata?: Record<string, any>): void;
}
export declare function createTelemetryAdapter(): TelemetryAdapter;
export declare const telemetryAdapter: TelemetryAdapter;
//# sourceMappingURL=telemetry.d.ts.map