import { TreeViewModel } from "@genexus/chameleon-controls-library";
import { ObjectType } from "../../common/types";
import { KBPropertiesCallback, KBPropertyType, ExportFileDirectoryCallback, OptionsCallback, AddObjectsCallback, ExportCallback, AddReferencesCallback, CancelCallback } from "./types";
export declare class GxIdeKbManagerExport {
    #private;
    el: HTMLGxIdeKbManagerExportElement;
    addKbPropertiesIsChecked: boolean;
    atLeastOnePropertyItemIsChecked: boolean;
    atLeastOneObjectItemIsChecked: boolean;
    checkedObjectsIds: string[];
    checkedPropertiesIds: string[];
    exportAllIsChecked: boolean;
    exportingIsInProcess: boolean;
    hasObjects: boolean;
    objectsTreeViewModel: TreeViewModel;
    objectsTreeViewModelChanged(newObjectsTreeViewModel: TreeViewModel): void;
    /**
     * Callback invoked when the user wants to include KB properties.
     */
    readonly addKBPropertiesCallback: KBPropertiesCallback;
    /**
     * Callback invoked when the user wants to add objects.
     */
    readonly addObjectsCallback: AddObjectsCallback;
    /**
     *Callback invoked when the user wants to add all the references for the selected objects.
     *@param itemIds:string[] The selected item ids
     *@returns : Returns an object with the items and its references
     */
    readonly addReferencesCallback: AddReferencesCallback;
    /**
     * Callback invoked when the user wants to cancel the export process.
     * @returns It returns a boolean indicating whether the process could be canceled or not.
     */
    readonly cancelCallback: CancelCallback;
    /**
     *Callback invoked when the user wants to initiate the export process.
     *@param fileName:string
     *@param itemIds:string[] The selected item ids
     *@returns : It returns a boolean indicating whether the process was successful
     */
    readonly exportCallback: ExportCallback;
    /**
     * Callback invoked when the user wants to access the export options.
     */
    readonly exportFileDirectoryCallback: ExportFileDirectoryCallback;
    /**
     * It allows defining the default Export File Name
     */
    readonly fileName: string;
    /**
     * Array with the possible types of KB properties
     */
    readonly kbPropertiesTypes: KBPropertyType[];
    /**
     * If true, it will display a loader when needed.
     */
    readonly loader = false;
    /**
     * Array of possible object types
     */
    readonly objectTypes: ObjectType[];
    objectTypesChanged(newObjectTypesArray: ObjectType[]): void;
    /**
     * Callback invoked when the user wants to access the export options.
     */
    readonly optionsCallback: OptionsCallback;
    componentWillLoad(): Promise<void>;
    render(): void;
}
