import { type HTMLAttributes } from 'react';
import { type VariantProps } from 'class-variance-authority';
export interface TranscriptLine {
speaker: string;
text: string;
/** Seconds, floating-point — matches HTMLMediaElement.currentTime. */
start: number;
end: number;
/** 0..1 — rendered with a dotted underline when below 0.6. */
confidence?: number;
}
/** Curated imperative handle for agent / external automation. */
export interface TranscriptPanelHandle {
/** Opaque id (line index) of the active turn, or null. */
getSelectedTurn: () => string | null;
/** Scroll the turn with the given id into view and focus its seek button. */
focusTurn: (id: string) => void;
/** Copy the turn's text to the clipboard. */
copyTurn: (id: string) => Promise | void;
}
export interface TranscriptPanelProps extends Omit, 'children'>, VariantProps {
lines: TranscriptLine[];
/** Current playback time in seconds — drives the active line highlight. */
currentTime?: number;
onSeek?: (seconds: number) => void;
/** Show the search bar. */
searchable?: boolean;
}
declare const rootVariants: (props?: ({
size?: "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export declare const TranscriptPanel: import("react").ForwardRefExoticComponent>;
export {};
//# sourceMappingURL=transcript-panel.d.ts.map