import { Injector } from '@angular/core';
import { VariableCommunicator, VariableValue, VariableState } from '../communication';
import { BsModalService } from 'ngx-bootstrap/modal';
import { GuiContext } from '../gui/gui-context';
import { Size } from '../model';
import { PopupViewService } from '../view/popup-view.service';
import { GuiOptions } from '../gui/interfaces/gui-options';
export declare class MainElement {
    private readonly injector;
    private readonly bsModalService;
    private readonly context;
    private readonly variableCommunicator;
    private readonly popupViewService;
    private readonly signalRAppId;
    private readonly elements;
    private root;
    private isLoaded;
    rawWidth: number;
    rawHeight: number;
    private readonly logger;
    oldSize: Size;
    private hostContainerId;
    get rootElement(): HTMLElement;
    constructor(injector: Injector, bsModalService: BsModalService, context: GuiContext, variableCommunicator: VariableCommunicator, popupViewService: PopupViewService, signalRAppId: any);
    load(data: string, overflowVisible: boolean, guiOptions: GuiOptions): void;
    /**
     * 保证在显示区域内显示画面所有内容，等比缩放画面大小以铺满整个显示区域
     * @param size 显示区域大小
     */
    uniformStretch(size: Size, svgRootClass: string): void;
    changeVideoStyle(size: Size, oldSize: Size, svgRootClass: string): void;
    /**
     * 保证在显示区域内横向铺满
     * @param size 显示区域大小
     */
    horizontalStretch(size: Size): void;
    initElementState(): void;
    getVariableNames(): Array<string>;
    reportVariableStates(states: VariableState[]): void;
    reportVariableValues(values: VariableValue[]): void;
    dispose(): void;
    private checkIsLoaded;
    private initBackground;
    private getImageEl;
}
