/**
 * THIS IS GENERATED CODE!
 * PLEASE DO NOT MODIFY - ALL YOUR WORK WOULD BE LOST!
 */
export declare const typescriptDeclarationFixConstant = 1;
import { UiEvent } from "./UiEvent";
import { TeamAppsEvent } from "../modules/util/TeamAppsEvent";
import { UiFieldConfig } from "./UiFieldConfig";
import { UiTextInputHandlingFieldConfig } from "./UiTextInputHandlingFieldConfig";
import { UiTemplateConfig } from "./UiTemplateConfig";
import { UiComboBoxTreeRecordConfig } from "./UiComboBoxTreeRecordConfig";
import { UiTextMatchingMode } from "./UiTextMatchingMode";
import { UiFieldCommandHandler } from "./UiFieldConfig";
import { UiFieldEventSource } from "./UiFieldConfig";
import { UiTextInputHandlingFieldEventSource } from "./UiTextInputHandlingFieldConfig";
export interface UiComboBoxConfig extends UiFieldConfig, UiTextInputHandlingFieldConfig {
    _type?: string;
    templates?: {
        [name: string]: UiTemplateConfig;
    };
    staticData?: UiComboBoxTreeRecordConfig[];
    staticDataMatchPropertyNames?: string[];
    textMatchingMode?: UiTextMatchingMode;
    showDropDownButton?: boolean;
    showDropDownAfterResultsArrive?: boolean;
    highlightFirstResultEntry?: boolean;
    showHighlighting?: boolean;
    autoComplete?: boolean;
    textHighlightingEntryLimit?: number;
    allowAnyText?: boolean;
    showClearButton?: boolean;
    animate?: boolean;
    showExpanders?: boolean;
}
export interface UiComboBoxCommandHandler extends UiFieldCommandHandler {
    setDropDownData(data: UiComboBoxTreeRecordConfig[]): void;
    setChildNodes(parentId: number, children: UiComboBoxTreeRecordConfig[]): void;
    registerTemplate(id: string, template: UiTemplateConfig): void;
    replaceFreeTextEntry(freeText: string, newEntry: UiComboBoxTreeRecordConfig): void;
}
export interface UiComboBoxEventSource extends UiFieldEventSource, UiTextInputHandlingFieldEventSource {
    onLazyChildDataRequested: TeamAppsEvent<UiComboBox_LazyChildDataRequestedEvent>;
}
export interface UiComboBox_LazyChildDataRequestedEvent extends UiEvent {
    parentId: number;
}
