import { StructureSchema } from '@ephox/boulder'; import type { Result } from '@ephox/katamari'; import { type FormComponentWithLabel, type FormComponentWithLabelSpec } from './FormComponent'; export interface ListBoxSingleItemSpec { text: string; value: string; } export interface ListBoxNestedItemSpec { text: string; items: ListBoxItemSpec[]; } export type ListBoxItemSpec = ListBoxNestedItemSpec | ListBoxSingleItemSpec; export interface ListBoxSpec extends FormComponentWithLabelSpec { type: 'listbox'; items: ListBoxItemSpec[]; disabled?: boolean; context?: string; } interface ListBoxSingleItem { text: string; value: string; } interface ListBoxNestedItem { text: string; items: ListBoxItem[]; } export type ListBoxItem = ListBoxNestedItem | ListBoxSingleItem; export interface ListBox extends FormComponentWithLabel { type: 'listbox'; items: ListBoxItem[]; enabled: boolean; context: string; } export declare const listBoxSchema: import("@ephox/boulder").StructureProcessor; export declare const listBoxDataProcessor: import("@ephox/boulder").StructureProcessor; export declare const createListBox: (spec: ListBoxSpec) => Result>; export {}; //# sourceMappingURL=ListBox.d.ts.map