import { PolymerType } from '../helm/types'; import { IMonomerLib, IMonomerLibHelper } from '../types/monomer-library'; export declare function parseMonomerSymbolList(src: string): string[]; /** Embeddable widget for selecting monomers with autocomplete, tag-based display, * and bulk-add from monomer libraries or collections. * Can be embedded directly into any container (dialog, panel, etc.). */ export declare class MonomerSelectionWidget { private readonly selectedMonomers; private readonly monomerLib; private polymerType; private helmType; private allSymbols; private readonly libHelper?; private readonly tagsHost; private readonly countLabel; private readonly inputEl; private currentMenu; private menuItems; private highlightedIndex; /** The root element to embed in a container */ readonly root: HTMLDivElement; constructor(monomerLib: IMonomerLib, polymerType: PolymerType, presetMonomers?: string[], libHelper?: IMonomerLibHelper); /** Returns the currently selected monomer symbols */ getSelectedMonomers(): string[]; /** Sets new monomer selections, replacing existing ones */ setSelectedMonomers(symbols: string[]): void; /** Updates the polymer type and refreshes the available symbols list */ setPolymerType(polymerType: PolymerType): void; /** Focuses the search input */ focus(): void; private updateCountLabel; private renderTags; private addMonomer; private addMonomers; private hideMenu; private getSuggestions; private showSuggestions; private updateHighlight; private setupInputListeners; private createLibrarySection; private createCollectionSection; } /** Shows a dialog for selecting monomers with autocomplete, tag-based display, * and bulk-add from monomer libraries or collections. * @returns monomer symbols array, or null if cancelled */ export declare function showMonomerSelectionDialog(monomerLib: IMonomerLib, polymerType: PolymerType, presetMonomers?: string[], libHelper?: IMonomerLibHelper): Promise; //# sourceMappingURL=monomer-selection-dialog.d.ts.map