import { EventEmitter } from "../../stencil-public-runtime";
import { EntityData } from "../../common/types";
import { TreeViewItemModel } from "@genexus/chameleon-controls-library";
export declare class GxIdeOpenAPIImport {
    #private;
    el: HTMLGxIdeOpenApiImportElement;
    actionListItems: TreeViewItemModel[];
    importingIsInProcess: boolean;
    operations: ApiOperationData[];
    selectedFile: File;
    selectedOperationForDescription: string;
    selectedOperations: string[];
    selectAllCheckboxValue: string;
    selectAllCheckboxIndeterminate: boolean;
    /**
     * Default value for the Module/Folder field.
     */
    readonly defaultParent: EntityData;
    /**
     * If true it displays the component title on the header
     */
    readonly displayTitle = false;
    /**
     * Callback invoked when the user wants to cancel the export process.
     */
    readonly cancelCallback: CancelCallback;
    /**
     * Callback invoked when the user wants to initiate the import process.
     */
    readonly importCallback: ImportCallback;
    /**
     * Callback invoked must be loaded the content for an specification API
     */
    readonly loadCallback: LoadCallback;
    /**
     * Callback invoked when action is executed on Module/Folder filter (button '...').
     */
    readonly selectParentCallback: SelectParentCallback;
    /**
     * @description Gets fired when the component has rendered for the first time.
     */
    componentDidRenderFirstTime: EventEmitter<string>;
    componentDidRender(): void;
    componentWillLoad(): Promise<void>;
    /**
     * Suspends or reactivates the shortcuts
     */
    suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
    render(): any;
}
export type ApiOperationData = {
    id: string;
    name: string;
    description: string;
};
export type SelectionEventDetail = {
    itemId: string;
    itemValue: string;
};
export type CancelCallback = () => Promise<void>;
export type ImportCallback = (operationIds: string[]) => Promise<boolean>;
export type SelectParentCallback = () => Promise<EntityData | undefined>;
export type LoadCallback = (source: string | File, parentId: string) => Promise<ApiOperationData[]>;
