import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { MapEditorService } from '../services/map-editor.service';
import { AssetsProviderService } from '../services/assets-provider.service';
import { Configuration, EditorSettings, MapConfig, ToolbarItemSettings } from '../models/configuration';
import { ConfigService } from '../services/config.service';
import { FilesService } from '../services/files.service';
import { MatDialog } from '@angular/material';
import { Observable } from 'rxjs';
import { Role } from '../models/role.enum';
export declare class MapEditorComponent implements OnInit, AfterViewInit, OnChanges {
    private service;
    private assets;
    private config;
    private files;
    dialog: MatDialog;
    downloadLink: ElementRef;
    /**
     * A full map editor configuration model.
     */
    configuration: Configuration;
    /**
     * Defines user permissions inside this component.
     */
    userRoles: Role[];
    margin: string;
    /**
     * An event fired when user requested a configuration save.
     */
    configurationSaved: EventEmitter<Configuration>;
    objectTypes: string[];
    floorMapsDict: {
        [id: number]: MapConfig;
    };
    floorMaps: MapConfig[];
    currentFloorMap: MapConfig;
    editorSettings: EditorSettings;
    showConfigMenu: boolean;
    isLoading: boolean;
    visible: {
        objectsToolbar: boolean;
        adminToolbar: boolean;
        toolsToolbar: boolean;
        asideMarginSpace: boolean;
        floorsToolbar: boolean;
    };
    adminToolbarItems: Observable<ToolbarItemSettings[]>;
    objectToolbarItems: Observable<ToolbarItemSettings[]>;
    private initialized;
    constructor(service: MapEditorService, assets: AssetsProviderService, config: ConfigService, files: FilesService, dialog: MatDialog);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onObjectSelected(objectType: string): void;
    onConfigClick(): void;
    onSaveConfigClick(): void;
    onDownloadConfigClick(): void;
    onUploadConfigClick(): void;
    onUploadJsonMapClick(): void;
    onDownloadJsonMapClick(): void;
    onLoadMapClick(floor: number): void;
    private updateLocalConfig;
    private questionDialog;
    private reloadConfig;
    private onRolesUpdates;
}
