import { OnDestroy, OnChanges, SimpleChanges, OnInit, ChangeDetectorRef } from '@angular/core';
import { LayoutComponentMetadata } from '@anglr/dynamic/layout';
import { EditorHotkeys, MetadataHistoryManager, DynamicItemSource } from '@anglr/dynamic';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Component that represents layout editor with palette, tree and properties
 */
export declare class LayoutEditorSAComponent implements OnDestroy, OnChanges, OnInit {
    protected history: MetadataHistoryManager<LayoutComponentMetadata>;
    protected changeDetector: ChangeDetectorRef;
    protected hotkeys?: EditorHotkeys | undefined;
    /**
     * Subscriptions created during initialization
     */
    protected initSubscriptions: Subscription;
    /**
     * Metadata that are used for rendering
     */
    metadata: LayoutComponentMetadata | undefined | null;
    /**
     * Array of packages that should be used, if specified, package manager is not displayed
     */
    packages: string[] | undefined | null;
    /**
     * Array of dynamic items sources which should be whitelisted, if this is used, package which is whitelisted will override black list and only components from whitelist will be available
     */
    whiteList: DynamicItemSource[] | undefined | null;
    /**
     * Array of dynamic items sources which should be blacklisted, components used in this list will not be available, only if overriden by whitelist
     */
    blackList: DynamicItemSource[] | undefined | null;
    constructor(history: MetadataHistoryManager<LayoutComponentMetadata>, changeDetector: ChangeDetectorRef, hotkeys?: EditorHotkeys | undefined);
    /**
     * Initialize component
     */
    ngOnInit(): void;
    /**
     * Called when input value changes
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Called when component is destroyed
     */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutEditorSAComponent, [null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutEditorSAComponent, "layout-editor", never, { "metadata": { "alias": "metadata"; "required": false; }; "packages": { "alias": "packages"; "required": false; }; "whiteList": { "alias": "whiteList"; "required": false; }; "blackList": { "alias": "blackList"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=layoutEditor.component.d.ts.map