import type { MultiAutoCompleteOption } from "../../domains/index.js"; import type { IMultiAutoCompleteInputPresenter } from "./MultiAutoCompleteInputPresenter.js"; import type { IMultiAutoCompleteSelectedOptionsPresenter } from "./MultiAutoCompleteSelectedOptionsPresenter.js"; import type { IMultiAutoCompleteListOptionsPresenter } from "./MultiAutoCompleteListOptionsPresenter.js"; import type { IMultiAutoCompleteTemporaryOptionPresenter } from "./MultiAutoCompleteTemporaryOptionPresenter.js"; interface MultiAutoCompletePresenterParams { allowFreeInput?: boolean; displayResetAction?: boolean; emptyMessage?: any; loadingMessage?: any; initialMessage?: any; options?: MultiAutoCompleteOption[]; placeholder?: string; values?: string[]; onValueSearch?: (value: string) => void; onValuesReset?: () => void; onValuesChange: (values: string[]) => void; onOpenChange?: (open: boolean) => void; } interface IMultiAutoCompletePresenter { vm: { inputVm: IMultiAutoCompleteInputPresenter["vm"]; selectedOptionsVm: IMultiAutoCompleteSelectedOptionsPresenter["vm"]; optionsListVm: IMultiAutoCompleteListOptionsPresenter["vm"]; temporaryOptionVm: IMultiAutoCompleteTemporaryOptionPresenter["vm"]; }; init: (params: MultiAutoCompletePresenterParams) => void; setListOpenState: (open: boolean) => void; searchOption: (value: string) => void; setSelectedOption: (value: string) => void; removeSelectedOption: (value: string) => void; resetSelectedOptions: () => void; createOption: (value: string) => void; } declare class MultiAutoCompletePresenter implements IMultiAutoCompletePresenter { private params?; private inputPresenter; private selectedOptionsPresenter; private optionsListPresenter; constructor(inputPresenter: IMultiAutoCompleteInputPresenter, selectedOptionsPresenter: IMultiAutoCompleteSelectedOptionsPresenter, optionsListPresenter: IMultiAutoCompleteListOptionsPresenter); init(params: MultiAutoCompletePresenterParams): void; get vm(): { inputVm: { placeholder: string; value: string; displayResetAction: boolean; }; selectedOptionsVm: { options: import("../../../Command/index.js").CommandOptionFormatted[]; empty: boolean; }; optionsListVm: { options: import("../../../Command/index.js").CommandOptionFormatted[]; emptyMessage: any; loadingMessage: any; open: boolean; empty: boolean; }; temporaryOptionVm: { option: undefined; }; }; setListOpenState: (open: boolean) => void; searchOption: (value: string) => void; setSelectedOption: (value: string) => void; removeSelectedOption: (value: string) => void; resetSelectedOptions: () => void; createOption: () => void; private getListOptions; private getSelectedOptions; private getSelectedValues; } export { MultiAutoCompletePresenter, type IMultiAutoCompletePresenter, type MultiAutoCompletePresenterParams };