import { HttpClient } from '@angular/common/http';
import { ComponentRef, EmbeddedViewRef, EventEmitter, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { Observable } from 'rxjs';
import { ControlBuilder } from '../control/controlbuilder';
import { CanvasInfo } from '../model/attributeInfo';
import { BoxInfo, ControlInfo, ShowBoxInfo } from '../model/boxInfo';
import { FollowItem } from '../model/followItem';
import * as i0 from "@angular/core";
export declare class CommonService {
    private http;
    private inject;
    constructor(http: HttpClient, inject: Injector);
    private importCompSubject;
    importObservable: Observable<{
        control: ControlInfo;
        name: string;
    }>;
    private followComSubject;
    followObservable: Observable<{
        follow: FollowItem;
        name: string;
    }>;
    cancelEvent: EventEmitter<string>;
    private showShadowSubject;
    showShadowObservable: Observable<{
        isshow: boolean;
        name: string;
    }>;
    private formItemClickSubject;
    formItemClickObservable: Observable<string>;
    private removeItemClickSubject;
    removeItemClickObservable: Observable<string>;
    private moveSubject;
    moveObservable: Observable<string>;
    changeFormLayout: EventEmitter<CanvasInfo>;
    attiEvent: EventEmitter<any>;
    testEvent: EventEmitter<string>;
    orginControlId: string;
    boxLayout: BoxInfo[];
    shadow: EmbeddedViewRef<any>;
    previousPosition: {
        x: number;
        y: number;
    };
    mainshadow: TemplateRef<any>;
    boxId: string;
    formGroup: FormGroup;
    colloctData: any;
    setImportComp(control: {
        control: ControlInfo;
        name: string;
    }): void;
    setFollowComp(follow: {
        follow: FollowItem;
        name: string;
    }): void;
    setShowShadows(showInfo: {
        isshow: boolean;
        name: string;
    }): void;
    setFormItemClick(itemName: string): void;
    setRemoveItemClick(itemName: string): void;
    setMoveSubject(itemName: string): void;
    buildControl(data: any): ControlBuilder;
    clearData(): void;
    getPreviewData(mode?: string): ShowBoxInfo[];
    createComponent(boxs: ShowBoxInfo[], view: ViewContainerRef, mode: string, name?: string): void;
    getTheData(data: any, queryString?: string): Observable<any>;
    private changeBoxInfoToShowBox;
    addSelectValid(control: ComponentRef<any>): void;
    replacer(key: string, value: any): any;
    reviver(key: string, value: any): any;
    private findlayout;
    static ɵfac: i0.ɵɵFactoryDeclaration<CommonService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CommonService>;
}
declare global {
    interface String {
        format(...patterns: string[]): string;
    }
}
