import { WellPlateFormat, WellPlateSelectionMode, WellPlateSize, Well, HeatmapConfig, WellShape, WellEditField, WellEditData, WellLegendItem, ColumnCondition, RowCondition, WellSampleDropData, WellSampleDropParser, WellClassResolver, WellStyleResolver } from '../types'; interface Props { modelValue?: string[]; format?: WellPlateFormat; wells?: Record>; selectionMode?: WellPlateSelectionMode; showLabels?: boolean; showWellIds?: boolean; /** * @deprecated No-op since MINT 1.3; removed in MINT 1.4. Wells show the 3a * sample-type marker (shape per type, `Q` / `i` glyphs for QC / iQC) regardless. */ showSampleTypeIndicator?: boolean; heatmap?: HeatmapConfig; sampleColors?: Record; zoom?: number; disabled?: boolean; readonly?: boolean; size?: WellPlateSize; wellShape?: WellShape; showWellLabels?: boolean; showBadges?: boolean; editable?: boolean; editFields?: WellEditField[]; defaultInjectionVolume?: number; showLegend?: boolean; legendItems?: WellLegendItem[]; columnConditions?: ColumnCondition[]; rowConditions?: RowCondition[]; allowSampleDrop?: boolean; sampleDropParser?: WellSampleDropParser; /** Replace the plate grid with a loading placeholder. */ loading?: boolean; /** * Error message. When set, the plate grid is replaced by an error state. * `null`/`undefined` renders normally. */ error?: string | null; /** * Opt-in empty-state headline. A blank plate is meaningful, so the empty * state only replaces the grid when this message is supplied and no wells * carry data. */ emptyMessage?: string; /** Add semantic classes to individual wells without overloading sample data. */ wellClass?: WellClassResolver; /** Add or override individual well styles after heatmap/sample styling. */ wellStyle?: WellStyleResolver; } interface WellEditorSlotProps { wellId: string; wellData?: Partial; editFields: WellEditField[]; defaultInjectionVolume: number; position: { x: number; y: number; }; save: (data: WellEditData) => void; clear: () => void; close: () => void; } type __VLS_Slots = { 'well-editor'?: (props: WellEditorSlotProps) => unknown; /** Replaces the default loading placeholder. */ loading?: () => unknown; /** Replaces the default error placeholder. */ error?: (props: { error: string; }) => unknown; /** Replaces the default empty placeholder. */ empty?: () => unknown; }; declare const __VLS_base: import('vue').DefineComponent any; "well-click": (wellId: string, event: MouseEvent) => any; "well-hover": (wellId: string | null, event?: MouseEvent | undefined) => any; "selection-change": (wellIds: string[]) => any; "context-menu": (wellId: string, event: MouseEvent) => any; "well-move": (sourceWellId: string, targetWellId: string) => any; "well-edit": (wellId: string, data: WellEditData) => any; "well-clear": (wellId: string) => any; "sample-drop": (wellId: string, data: WellSampleDropData, event: DragEvent) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ "onUpdate:modelValue"?: ((wellIds: string[]) => any) | undefined; "onWell-click"?: ((wellId: string, event: MouseEvent) => any) | undefined; "onWell-hover"?: ((wellId: string | null, event?: MouseEvent | undefined) => any) | undefined; "onSelection-change"?: ((wellIds: string[]) => any) | undefined; "onContext-menu"?: ((wellId: string, event: MouseEvent) => any) | undefined; "onWell-move"?: ((sourceWellId: string, targetWellId: string) => any) | undefined; "onWell-edit"?: ((wellId: string, data: WellEditData) => any) | undefined; "onWell-clear"?: ((wellId: string) => any) | undefined; "onSample-drop"?: ((wellId: string, data: WellSampleDropData, event: DragEvent) => any) | undefined; }>, { disabled: boolean; size: WellPlateSize; readonly: boolean; modelValue: string[]; showLabels: boolean; format: WellPlateFormat; wells: Record>; showLegend: boolean; showSampleTypeIndicator: boolean; selectionMode: WellPlateSelectionMode; legendItems: WellLegendItem[]; editable: boolean; heatmap: HeatmapConfig; zoom: number; editFields: WellEditField[]; defaultInjectionVolume: number; showWellIds: boolean; sampleColors: Record; wellShape: WellShape; showWellLabels: boolean; showBadges: boolean; columnConditions: ColumnCondition[]; rowConditions: RowCondition[]; allowSampleDrop: boolean; sampleDropParser: WellSampleDropParser; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };