/*!
Copyright © 2024 Open Text Corporation, All Rights Reserved.

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
import { OcpdBaseElementDesigner } from '../base-element-designer/ocpd-base-element-designer';
import { OcpdFormClientAPIService } from '../../singletons/ocpd-form-client-api-service';
import { Config } from '../../models/control-config';
import { OcpdAvailableComponents } from '../../singletons/ocpd-available-components';
import { OcpdItemManagerHelper, Model } from '../../singletons/ocpd-item-manager-helper';
import { Designer } from '../designer/designer';
import { OcpdStringLocalizationHelper } from '../../singletons/ocpd-string-localization';
import { Template } from '../../models/global-types';
import { OcpdConfigurationManager } from '../../singletons/ocpd-configuration-manager';
import { OcpdPersonalization } from '../../singletons/ocpd-personalization';
import { MoveObject } from '../../helpers/move-object';
import { OcpdFormSchemaManager } from '../../singletons/ocpd-form-schema-manager';
import { LocaleDataDesignerControlToolBox } from '../../models/localization-types';
export declare class DesignerControlToolbox extends OcpdBaseElementDesigner {
    _controlToolboxContainer: HTMLDivElement;
    _components: HTMLDivElement;
    _properties: HTMLDivElement;
    _templates: HTMLDivElement;
    _vscodeProperties: HTMLDivElement;
    _designerElement: Designer;
    _ocpdFormClientApiService: OcpdFormClientAPIService;
    localeData: LocaleDataDesignerControlToolBoxGeneral;
    localeDataControls: LocaleDataDesignerControlToolBox;
    _ocpdAvailableComponents: OcpdAvailableComponents;
    _ocpdItemManagerHelper: OcpdItemManagerHelper;
    _ocpdStringLocalizationHelper: OcpdStringLocalizationHelper;
    _ocpdConfigurationManager: OcpdConfigurationManager;
    _ocpdPersonalization: OcpdPersonalization;
    _ocpdFormSchemaManager: OcpdFormSchemaManager;
    dragElementEventHandler: any;
    cancelDragElementEventHandler: any;
    handleExpandEventHandler: any;
    handleDisplayFilterEventHandler: any;
    handleChangeFacetsEventHandler: any;
    handleChangeFacetCollapseEventHandler: any;
    showGhostTimer: number;
    templatePallete: Template[];
    dragTimer: number;
    initSectionsTimer: number;
    showGhost: boolean;
    _moveObject: MoveObject;
    facetCounts: FacetCounts;
    static get tagName(): string;
    themeChanged(themeName: any): void;
    userInterfaceLocaleChanged(locale: string): Promise<void>;
    constructor();
    disconnectedCallback(): void;
    recalulateUsedFields(canvasId: any): Promise<void>;
    getPropertiesFacetFilter(): any;
    getPropertiesUlList(): any;
    initiateSectionResizeKeyboard(event: any): void;
    connectedCallback(): Promise<void>;
    isReference(schema: any, propertyName: any): boolean;
    initializeSections(): void;
    getNextVisibleSibling(element: any): any;
    loadContent(): Promise<void>;
    showComponentsInGrid(): void;
    handleExpandEvent(event: any): void;
    handleDisplayFilterEvent(event: any): void;
    handleChangeFacetsEvent(event: any): void;
    handleChangeFacetCollapseEvent(event: any): void;
    setSizesInGrid(element: any, newHeight: any): void;
    getPositionOfSection(element: any): number;
    fillLastSection(): void;
    addDraggableComponentsToSideBar(options: any): Promise<any>;
    toggleCollapseState(composedPath: any): void;
    loadSelectedElementsIntoDragContainerStop(): void;
    loadSelectedElementsIntoDragContainerStart(event: any): void;
    getTopShadow(): HTMLDivElement;
    doSectionsCrossMenuTypes(composedPath: any): void;
    clearSelectionsInOtherContainers(sections: any, currentList: any): void;
    scrollBarWasClicked(event: any): boolean;
    isScollbarDisplayed(scrollContainer: HTMLDivElement): boolean;
    disposeMoveObject(): void;
    removeCanvasAndUpdateParentIds(template: Template): Template;
    getULLists(webComponent: any): any[];
    getSelectedItems(composedPath: any): any[];
    removeCanvasElement(selectedItem: any): Template;
    loadSelectedElementsIntoDragContainer(schema: any, composedPath: any): void;
    addComponentToGhostContainer(model: Model, type: any): void;
    addTemplateToGhostContainer(selectedItem: any, type: any): void;
    addControlToItemStateAndGhostContainer(config: Config, type: any): void;
    updateModelIds(template: Template): Template;
    getTemplateByName(name: any): Template;
    showGhostObjects(): void;
    cancelShowGhostObjects(): void;
    getLocalizedTitle(propertyObject: any, propertyName: any): any;
    addFacetFilterProperties(model: any, isRequired: boolean, propertyObject: any): any;
    loadSchemaPropertiesFromSchema(schema: any): Promise<void>;
    getFacetSelected(facet: any, option: any): any;
    getFacets(): any[];
    loadStandardComponents(): Promise<void>;
    loadStandardTemplates(): Promise<void>;
    loadModelTree(modelTree: any): Promise<void>;
    getControlImageCSS(controlName: any): "var(--ocpd-svg-control-container)" | "var(--ocpd-svg-control-iframe)" | "var(--ocpd-svg-control-image)" | "var(--ocpd-svg-control-separator)" | "var(--ocpd-svg-control-section)" | "var(--ocpd-svg-control-label)" | "var(--ocpd-svg-control-link)" | "var(--ocpd-svg-control-rtf)" | "var(--ocpd-svg-control-tabs)" | "var(--ocpd-svg-control-action-bar)" | "var(--ocpd-svg-control-form-container)" | "var(--ocpd-svg-control-h-flex)" | "var(--ocpd-svg-control-v-flex)" | "var(--ocpd-svg-control-date)" | "var(--ocpd-svg-control-datetime)" | "var(--ocpd-svg-control-table)" | "var(--ocpd-svg-control-text-area)" | "var(--ocpd-svg-control-radio-group)" | "var(--ocpd-svg-control-upload)" | "var(--ocpd-svg-control-button)" | "var(--ocpd-svg-control-image-button)" | "var(--ocpd-svg-control-text-box)" | "var(--ocpd-svg-control-check-box)" | "var(--ocpd-svg-control-select-box)" | "var(--ocpd-svg-control-combo-box)" | "var(--ocpd-svg-control-checkbox-group)" | "var(--ocpd-svg-control-responsive-form-grid)" | "var(--ocpd-svg-control-accordion)" | "var(--ocpd-svg-control-number)" | "var(--ocpd-svg-control-integer)" | "var(--ocpd-svg-control-currency)" | "var(--ocpd-svg-control-toggle-switch)" | "var(--ocpd-svg-control-user-control)";
    isRunningInVSCode(): any;
    clearOldModels(menuType: any): void;
    loadTemplates(): Template[];
    clearTemplates(): void;
    deleteTemplate(ctrl: any, pallete: any): void;
    getItem(options: any): {
        id: any;
        schemaId: string;
        data: {
            text: any;
            value: any;
            child_items: any;
            type: any;
            isFolder: any;
            imageCss: any;
            width: any;
            extendedInformation: any;
            menuType: any;
            schemaId: any;
        };
    };
    getSchema(): {
        $id: string;
        title: string;
        type: string;
        otReferences: {
            label: string;
            propertyPath: string;
            target: {
                schemaId: string;
            };
            cardinality: string;
            preventCircularity: string;
        }[];
        properties: {
            text: {
                type: string;
                maxLength: number;
                minLength: number;
                pattern: string;
                default: string;
            };
            value: {
                type: string;
                maxLength: number;
            };
            type: {
                type: string;
                maxLength: number;
            };
            child_items: {
                type: string;
                uniqueItems: boolean;
                items: {
                    type: string;
                };
            };
            required: {
                type: string;
            };
            readonly: {
                type: string;
            };
            repeating: {
                type: string;
            };
            typeOf: {
                type: string;
            };
            inUse: {
                type: string;
            };
            imageCss: {
                type: string;
            };
            width: {
                type: string;
            };
            controlType: {
                type: string;
            };
            menuType: {
                type: string;
            };
            isFolder: {
                type: string;
            };
            schemaId: {
                type: string;
            };
        };
        additionalProperties: boolean;
    };
    getModelListConfig(options: any): {
        type: string;
        id: string;
        controls: {
            themes: any;
            allowFacetedFiltering: any;
            allowSearch: any;
            isCollapsible: any;
            type: string;
            propertyPath: string;
            display: any;
            id: string;
            border: any;
            label: {
                show: boolean;
                text: any;
            };
            listItemStyle: any;
            headerStyle: any;
            imageStyle: any;
            sort: any;
            customData: any;
            collapsedByDefault: any;
        }[];
    };
    get components(): HTMLDivElement;
    get properties(): HTMLDivElement;
    get templates(): HTMLDivElement;
    get vscodeProperties(): HTMLDivElement;
    get designerElement(): Designer;
    get controlToolboxContainer(): HTMLDivElement;
    addControlToGhostContainer(control: Config, type: string): void;
    systemConfigurationChanged(systemConfig: any, changes: any): void;
    doesSystemChangesRequireReload(changes: any[]): void;
    getCss(themeName: any): string;
}
export declare class LocaleDataDesignerControlToolBoxGeneral {
    array: string;
    boolean: string;
    attributeOnCanvas: string;
    components: string;
    controlType: string;
    dataType: string;
    integer: string;
    isReadonly: string;
    isRepeating: string;
    isNotReadOnly: string;
    isRequired: string;
    isNotRepeating: string;
    isNotRequired: string;
    number: string;
    object: string;
    notOnCanvas: string;
    onCanvas: string;
    repeating: string;
    readOnly: string;
    required: string;
    string: string;
    templates: string;
    modelAttributes: string;
    workspaceAttributes: string;
}
export declare class BasePropertyObject {
    otFormat: BasePropertyObjectFormat;
    title: string;
    readOnly: boolean;
    type: string;
}
export declare class BasePropertyObjectFormat {
    repeating?: boolean;
    dataType?: string;
    presentationType?: string;
}
export declare class FacetCounts {
    static getFacetCounts(): FacetCounts;
    CHECKBOX: number;
    DATETIMEDATE: number;
    DATETIMEDATETIME: number;
    TEXTBOXINTEGER: number;
    TEXTBOXNUMBER: number;
    SELECTBOX: number;
    TEXTAREA: number;
    TEXTBOX: number;
    TOGGLESWITCH: number;
    USERCONTROLUSER: number;
    isRequired: number;
    isNotRequired: number;
    isReadOnly: number;
    isNotReadOnly: number;
    isRepeating: number;
    isNotRepeating: number;
    ARRAY: number;
    BOOLEAN: number;
    INTEGER: number;
    OBJECT: number;
    NUMBER: number;
    STRING: number;
    NOTINUSE: number;
    INUSE: number;
}
