import { StiToolboxElementComponent } from "../toolbox/sti-toolbox-element.component";
import { StiMouseService } from "./mouse.service";
import { StiTextBoxComponent } from "../components/sti-text-box/sti-text-box.component";
import { StiNumberBoxComponent } from "../components/sti-number-box/sti-number-box.component";
import { StiComboBoxComponent } from "../components/sti-combo-box/sti-combo-box.component";
import { StiListBoxComponent } from "../components/sti-list-box/sti-list-box.component";
import { StiSingleSelectionComponent } from "../components/sti-single-selection/sti-single-selection.component";
import { StiMultipleSelectionComponent } from "../components/sti-multiple-selection/sti-multiple-selection.component";
import { StiCheckBoxComponent } from "../components/sti-check-box/sti-check-box.component";
import { StiLineComponent } from "../components/sti-line/sti-line.component";
import { StiSignatureComponent } from "../components/sti-signature/sti-signature.component";
import { StiDateTimeBoxComponent } from "../components/sti-date-time-box/sti-date-time-box.component";
import { StiTableComponent } from "../components/sti-table/sti-table.component";
import { StiImageComponent } from "../components/sti-image/sti-image.component";
import { StiButtonComponent } from "../components/sti-button/sti-button.component";
import { StiBarcodeComponent } from "../components/sti-barcode/sti-barcode.component";
import { StiTextComponent } from "../components/sti-text/sti-text.component";
import { StiLabelComponent } from "../components/sti-label/sti-label.component";
import { Observable } from "rxjs";
import { StiDraggableService } from "./sti-draggable.service";
import { StiBarcodeElement } from "../elements/StiBarcodeElement";
import { StiButtonElement } from "../elements/StiButtonElement";
import { StiCheckBoxElement } from "../elements/StiCheckBoxElement";
import { StiComboBoxElement } from "../elements/StiComboBoxElement";
import { StiDateTimeBoxElement } from "../elements/StiDateTimeBoxElement";
import { StiImageElement } from "../elements/StiImageElement";
import { StiLabelElement } from "../elements/StiLabelElement";
import StiLineElement from "../elements/StiLineElement";
import { StiListBoxElement } from "../elements/StiListBoxElement";
import { StiMultipleSelectionElement } from "../elements/StiMultipleSelectionElement";
import { StiNumberBoxElement } from "../elements/StiNumberBoxElement";
import { StiPanelElement } from "../elements/StiPanelElement";
import { StiSignatureElement } from "../elements/StiSignatureElement";
import { StiSingleSelectionElement } from "../elements/StiSingleSelectionElement";
import { StiTableElement } from "../elements/StiTableElement";
import { StiTextBoxElement } from "../elements/StiTextBoxElement";
import { StiTextElement } from "../elements/StiTextElement";
import { StiLocalizationService } from "./sti-localization.service";
import { StiModelService } from "./model.service";
import { StiAddressComponent } from "../components/sti-address/sti-address.component";
import { StiAddressElement } from "../elements/StiAddressElement";
import { StiPDFSignatureComponent } from "../components/sti-pdf-signature/sti-pdf-signature.component";
import { StiPDFSignatureElement } from "../elements/StiPDFSignatureElement";
import { StiPanelComponent } from "../components/sti-components-holder.component";
import * as i0 from "@angular/core";
export declare class StiToolboxService {
    mouseService: StiMouseService;
    draggableService: StiDraggableService;
    model: StiModelService;
    loc: StiLocalizationService;
    showGroupPreview: boolean;
    previewX: number;
    previewY: number;
    currentGroup: string;
    elementsForRibbon: ({
        caption: string;
        image: string;
        category: string;
        id?: undefined;
        component?: undefined;
        element?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        category?: undefined;
        id?: undefined;
        component?: undefined;
        element?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image?: undefined;
        category?: undefined;
        id?: undefined;
        component?: undefined;
        element?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiTableComponent;
        element: typeof StiTableElement;
        setForm: boolean;
        category?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiButtonComponent;
        element: typeof StiButtonElement;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiLabelComponent;
        element: typeof StiLabelElement;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiTextComponent;
        element: typeof StiTextElement;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiImageComponent;
        element: typeof StiImageElement;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiPanelComponent;
        element: typeof StiPanelElement;
        category?: undefined;
        setForm?: undefined;
    })[];
    inputGroup: ({
        caption: string;
        image: string;
        id: string;
        component: typeof StiTextBoxComponent;
        element: typeof StiTextBoxElement;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiNumberBoxComponent;
        element: typeof StiNumberBoxElement;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiComboBoxComponent;
        element: typeof StiComboBoxElement;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiDateTimeBoxComponent;
        element: typeof StiDateTimeBoxElement;
        setForm: boolean;
        category: string;
    })[];
    selectionGroup: ({
        caption: string;
        image: string;
        id: string;
        component: typeof StiSingleSelectionComponent;
        element: typeof StiSingleSelectionElement;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiMultipleSelectionComponent;
        element: typeof StiMultipleSelectionElement;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiListBoxComponent;
        element: typeof StiListBoxElement;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiCheckBoxComponent;
        element: typeof StiCheckBoxElement;
    })[];
    otherGroup: ({
        caption: string;
        image: string;
        id: string;
        component: typeof StiSignatureComponent;
        element: typeof StiSignatureElement;
        category?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiPDFSignatureComponent;
        element: typeof StiPDFSignatureElement;
        category?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiBarcodeComponent;
        element: typeof StiBarcodeElement;
        category?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiAddressComponent;
        element: typeof StiAddressElement;
        category: string;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiLineComponent;
        element: typeof StiLineElement;
        category: string;
    })[];
    elements: ({
        caption: string;
        image: string;
        id: string;
        component: typeof StiTextBoxComponent;
        element: typeof StiTextBoxElement;
        enabled: boolean;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiNumberBoxComponent;
        element: typeof StiNumberBoxElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiComboBoxComponent;
        element: typeof StiComboBoxElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiListBoxComponent;
        element: typeof StiListBoxElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiSingleSelectionComponent;
        element: typeof StiSingleSelectionElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiMultipleSelectionComponent;
        element: typeof StiMultipleSelectionElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiCheckBoxComponent;
        element: typeof StiCheckBoxElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiSignatureComponent;
        element: typeof StiSignatureElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiPDFSignatureComponent;
        element: typeof StiPDFSignatureElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiDateTimeBoxComponent;
        element: typeof StiDateTimeBoxElement;
        enabled: boolean;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiTableComponent;
        element: typeof StiTableElement;
        enabled: boolean;
        setForm: boolean;
        category?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiButtonComponent;
        element: typeof StiButtonElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiBarcodeComponent;
        element: typeof StiBarcodeElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiAddressComponent;
        element: typeof StiAddressElement;
        enabled: boolean;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image?: undefined;
        id?: undefined;
        component?: undefined;
        element?: undefined;
        enabled?: undefined;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiLabelComponent;
        element: typeof StiLabelElement;
        enabled: boolean;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiTextComponent;
        element: typeof StiTextElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiImageComponent;
        element: typeof StiImageElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiLineComponent;
        element: typeof StiLineElement;
        enabled: boolean;
        category: string;
        setForm?: undefined;
    } | {
        caption: string;
        image: string;
        id: string;
        component: typeof StiPanelComponent;
        element: typeof StiPanelElement;
        enabled: boolean;
        category?: undefined;
        setForm?: undefined;
    })[];
    unusedElements: string[];
    isEnabled(element: any): boolean;
    isEnabledFromSettings(element: any): boolean;
    getToolboxId(type: any): "textbox" | "checkbox" | "combobox" | "numberbox" | "label" | "dateTime" | "singleSelection" | "multipleSelection" | "listbox" | "signature" | "barcode" | "address" | "line" | "table" | "button" | "text" | "image" | "panel" | "PDFsignature";
    idToCamelCase(id: any): "showTextBox" | "showNumberBox" | "showComboBox" | "showListBox" | "showSingleSelection" | "showMultipleSelection" | "showCheckBox" | "showSignature" | "showDateTimeBox" | "showTable" | "showButton" | "showBarCode" | "showAddress" | "showLabel" | "showText" | "showImage" | "showLine" | "showPanel";
    isGroupEnabled(group: any): boolean;
    isInsertInlineElementsDividerEnabled(element: any): boolean;
    isToolboxInlineElementsDividerEnabled(element: any): boolean;
    isInsertOutlineElementsDividerEnabled(): boolean;
    isToolboxOutlineElementsDividerEnabled(): boolean;
    haveEnabledComponents(): boolean;
    mouseDownComponent: StiToolboxElementComponent;
    private subject;
    showToolbox: boolean;
    mouseDownX: number;
    mouseDownY: number;
    constructor(mouseService: StiMouseService, draggableService: StiDraggableService, model: StiModelService, loc: StiLocalizationService);
    getMessage(): Observable<any>;
    elementMouseDown(component: StiToolboxElementComponent, event: MouseEvent): void;
    elementDoubleClick(component: StiToolboxElementComponent): void;
    onMouseMove(event: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<StiToolboxService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<StiToolboxService>;
}
