import { ActionListItemModel, ActionListModel } from "@genexus/chameleon-controls-library";
export declare class GxIdeKbManagerImport {
    #private;
    el: HTMLGxIdeDataTypeSelectorElement;
    categoriesListBoxModel: ActionListItemModel[];
    selectedCategory: string;
    recentlyUsedActionListModel: ActionListModel;
    loading: boolean;
    categoriesJustChanged: boolean;
    actionListDidRender: boolean;
    /**
     * All possible types and its category
     */
    readonly categories: DataTypeCategoryData[];
    categoriesChanged(newCategories: DataTypeCategoryData[]): void;
    /**
     * Callback invoked when the user has selected an item type
     */
    readonly dataTypeSelectedCallback: DataTypeSelectedCallback;
    /**
     * Defines the type of focus applied when the component renders for the first time.
     */
    readonly arrowUpOnFirstElement: ArrowFirstOnFirstElement;
    /**
     * Defines the type of focus applied when the component renders for the first time.
     */
    readonly focusType: "first-element" | "selected";
    /**
     * All recently used types list
     */
    readonly recentlyUsed: DataTypeData[];
    recentlyUsedChanged(newRecentlyUsed: DataTypeData[]): void;
    componentWillLoad(): Promise<void>;
    private selectedCategoryHandler;
    render(): void;
}
export type DataTypeCategoryData = {
    id: string;
    name: string;
    icon: string;
    types: DataTypeData[];
};
export type DataTypeData = {
    id: string;
    name: string;
    icon: string;
    selected: boolean;
};
export type DataTypeSelectedCallback = (data: DataTypeData) => Promise<void>;
export type ArrowFirstOnFirstElement = () => Promise<void>;
