import "./recording.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type MediaLoadFailure } from "./media_player"; import { type LoticsLocale } from "./locale"; import { type StyleProps } from "./style_props"; export interface RecordingProps extends StyleProps { /** Carries the same audio, so it wins. */ video?: string | null; /** Played only without video, which happens when the screen fails to assemble. */ audio?: string | null; /** What the badge's glyph states; defaults to a video being present, so pass it where the video was * lost. */ screen?: boolean; /** Omitted, the badge states only what was captured. */ durationSeconds?: number | null; /** Blank folds nothing away: a silent recording is still the call's record. */ transcript?: string | null; /** Called once on load failure, for the host to report. */ onError?: (failure: MediaLoadFailure) => void; /** Prefixes `-player`, `-transcript-toggle`, `-transcript`. */ testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** Whole seconds, never rounded up to a minute. */ export declare function recordingLength(seconds: number, l: LoticsLocale["recording"]): string; /** One player, never two, since video and audio carry the same sound; the badge glyph follows the capture; * the verbatim transcript is folded under it, a speaker's turn per line. */ export declare function Recording(props: RecordingProps): React.ReactElement>;