/**
 * OTLP receiver for server module.
 * Provides real OTLP processing for standalone mode (BikeRack/WheelHub)
 * without requiring Cyclist's provider.
 *
 * Supports a provider pattern: call setOTLPProvider() with the real implementation
 * (e.g. from cyclist's otlp-receiver) to wire live data through the API routes.
 * Without a provider, functions use in-memory stores for standalone operation.
 */
export interface TokenStats {
    inputTokens: number;
    outputTokens: number;
    cacheCreationTokens: number;
    cacheReadTokens: number;
    totalCost: number;
    [key: string]: unknown;
}
export interface BackgroundTask {
    taskId: string;
    description: string;
    subagentType: string;
    startedAt: number;
    completedAt?: number;
    durationMs?: number;
    status: 'pending' | 'completed';
    success?: boolean;
    output?: string;
    error?: string;
    isBackground?: boolean;
}
export interface ToolEvent {
    toolName: string;
    input?: string;
    success?: boolean;
    workingDirectory?: string;
    [key: string]: unknown;
}
export interface AuditLogEntry {
    timestamp: number;
    type: string;
    tool?: string;
    [key: string]: unknown;
}
export interface OTLPProvider {
    getTokenStats(): TokenStats;
    addTokenStatsListener(callback: (stats: TokenStats) => void): void;
    getBackgroundTasks(): BackgroundTask[];
    setBackgroundTaskStartCallback(callback: (task: BackgroundTask) => void): void;
    setBackgroundTaskCallback(callback: (task: BackgroundTask) => void): void;
    processOTLPLogs(body: unknown): void;
    processOTLPMetrics(body: unknown): void;
    processOTLPTraces(body: unknown): void;
    getAuditLog(): AuditLogEntry[];
    getToolEventsFiltered(opts?: unknown): ToolEvent[];
    getToolTypes(): string[];
    getAuditLogStats(): Record<string, unknown>;
    exportAuditLogAsJSON(toolType?: string): string;
    exportAuditLogAsCSV(toolType?: string): string;
    resetEventStore(): void;
}
export declare function setOTLPProvider(provider: OTLPProvider): void;
export declare function getTokenStats(): TokenStats;
export declare function addTokenStatsListener(callback: (stats: TokenStats) => void): void;
export declare function getBackgroundTasks(): BackgroundTask[];
export declare function setBackgroundTaskStartCallback(callback: (task: BackgroundTask) => void): void;
export declare function setBackgroundTaskCallback(callback: (task: BackgroundTask) => void): void;
export declare function processOTLPLogs(body: unknown): void;
export declare function processOTLPMetrics(body: unknown): void;
export declare function processOTLPTraces(body: unknown): void;
export declare function getAuditLog(): AuditLogEntry[];
export declare function getToolEventsFiltered(opts?: unknown): ToolEvent[];
export declare function getToolTypes(): string[];
export declare function getAuditLogStats(): Record<string, unknown>;
export declare function exportAuditLogAsJSON(toolType?: string): string;
export declare function exportAuditLogAsCSV(toolType?: string): string;
export declare function resetEventStore(): void;
export declare function parseOTLPMetrics(body: unknown): Record<string, number>;
export declare function aggregateTokenStats(data: unknown): TokenStats;
export declare function parseOTLPLogs(body: unknown): Array<{
    name: string;
    timestamp: number;
    attributes: Record<string, unknown>;
}>;
export declare function processLogEvents(events: unknown): void;
export declare function trackBackgroundTask(task: Partial<BackgroundTask>): void;
export declare function getBackgroundTaskByToolId(toolId: string): BackgroundTask | undefined;
export declare function completeBackgroundTask(taskId: string, success: boolean, result?: string, error?: string): BackgroundTask | undefined;
export declare function addToolEventListener(callback: (event: ToolEvent) => void): void;
export declare function getUserEmail(): string | null;
export declare function isOtelDebugEnabled(): boolean;
export declare function clearAuditLog(): void;
//# sourceMappingURL=otlp-receiver.d.ts.map