import type { IOTelService } from './otelService';
import { type WorkspaceOTelMetadata } from './workspaceOTelMetadata';
/**
 * Emit OTel GenAI standard events via the IOTelService abstraction.
 */
export declare function emitInferenceDetailsEvent(otel: IOTelService, request: {
    model: string;
    temperature?: number;
    maxTokens?: number;
    messages?: unknown;
    systemMessage?: unknown;
    tools?: unknown;
}, response: {
    id?: string;
    model?: string;
    finishReasons?: string[];
    inputTokens?: number;
    outputTokens?: number;
} | undefined, error?: {
    type: string;
    message: string;
}): void;
/**
 * Emit extension-specific events.
 */
export declare function emitSessionStartEvent(otel: IOTelService, sessionId: string, model: string, participant: string): void;
export declare function emitToolCallEvent(otel: IOTelService, toolName: string, durationMs: number, success: boolean, error?: string): void;
export declare function emitAgentTurnEvent(otel: IOTelService, turnIndex: number, inputTokens: number, outputTokens: number, toolCallCount: number): void;
export declare function emitEditFeedbackEvent(otel: IOTelService, outcome: string, languageId: string, participant: string, requestId: string, editSurface: string, hasRemainingEdits: boolean, isNotebook: boolean, workspace?: WorkspaceOTelMetadata): void;
export declare function emitEditHunkActionEvent(otel: IOTelService, outcome: string, languageId: string, requestId: string, lineCount: number, linesAdded: number, linesRemoved: number, workspace?: WorkspaceOTelMetadata): void;
export declare function emitInlineDoneEvent(otel: IOTelService, accepted: boolean, languageId: string, editCount: number, editLineCount: number, replyType: string, isNotebook: boolean, workspace?: WorkspaceOTelMetadata): void;
export declare function emitEditSurvivalEvent(otel: IOTelService, editSource: string, survivalRateFourGram: number, survivalRateNoRevert: number, timeDelayMs: number, didBranchChange: boolean, requestId: string, workspace?: WorkspaceOTelMetadata): void;
export declare function emitUserFeedbackEvent(otel: IOTelService, rating: string, participant: string, conversationId: string, requestId: string): void;
export declare function emitCloudSessionInvokeEvent(otel: IOTelService, partnerAgent: string, model: string, requestId: string): void;
//# sourceMappingURL=genAiEvents.d.ts.map