import { type HTMLAttributes } from 'react';
import { Images } from 'lucide-react';
import type { FdiId, Radiograph } from '../tooth-scheme';
export interface RadiographPanelHandle {
/** Read the films currently shown (after the host's `radiographs` prop). */
getRadiographs: () => Radiograph[];
/** Open the fullscreen viewer on a film by id. */
openViewer: (id: string) => void;
/** Close the fullscreen viewer. */
closeViewer: () => void;
}
export interface RadiographPanelProps extends Omit, 'title' | 'children'> {
/** Instance id — emitted as `data-component-id` for the agent registry. */
id?: string;
/** The tooth whose films are shown (FDI id). Null → a "select a tooth" prompt. */
toothId?: FdiId | null;
/** Display label for the selected tooth. Defaults to the localised "Tooth {{id}}". */
toothLabel?: string;
/** The selected tooth's films. The panel sorts + filters; order in is irrelevant. */
radiographs?: Radiograph[];
/** Commit a new film (the host persists it). Omit to hide the upload composer. */
onAddRadiograph?: (draft: {
fileName: string;
date?: string;
note?: string;
}) => void;
/** Remove a film by id. Omit to hide the delete affordance. */
onDeleteRadiograph?: (id: string) => void;
/** Panel heading. Defaults to the localised "Imaging". */
title?: string;
/** Accessible name for the panel region (defaults to `title`). */
'aria-label'?: string;
}
export declare const RadiographPanel: import("react").ForwardRefExoticComponent>;
export { Images as RadiographPanelIcon };
//# sourceMappingURL=radiograph-panel.d.ts.map