import { type TranscriptSegment } from "@steipete/summarize-core/content";
import type { LlmTokenUsage } from "../llm/types.js";
import type { SpeakerIdentificationSettings } from "./types.js";
export type OpenAiSpeakerMapping = {
    speaker: string;
    name: string;
    confidence: number;
    evidence: string;
};
export type InferSpeakerMappingsResult = {
    mappings: OpenAiSpeakerMapping[];
    usage: LlmTokenUsage | null;
};
export declare function buildSpeakerEvidence(segments: TranscriptSegment[]): string[];
export declare function inferSpeakerMappingsWithOpenAi({ segments, unresolvedSpeakers, anchoredMappings, title, description, sourceUrl, settings, apiKey, baseUrl, timeoutMs, fetchImpl, }: {
    segments: TranscriptSegment[];
    unresolvedSpeakers: string[];
    anchoredMappings: Record<string, string>;
    title: string | null;
    description: string | null;
    sourceUrl: string;
    settings: SpeakerIdentificationSettings;
    apiKey: string;
    baseUrl: string | null;
    timeoutMs: number;
    fetchImpl: typeof fetch;
}): Promise<InferSpeakerMappingsResult>;
