import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { LayoutComponentRendererSADirective } from '@anglr/dynamic/layout';
import { Subscription } from 'rxjs';
import { LayoutEditorMetadataDescriptor } from '../../decorators';
import * as i0 from "@angular/core";
/**
 * Applies min dimensions to designed element, so it can be visible event when it is empty
 */
export declare class DesignerMinDimensionSADirective implements OnInit, OnDestroy, OnChanges {
    /**
     * Instance of mutation observer
     */
    protected observer?: MutationObserver;
    /**
     * Indication whether is min dimensions active
     */
    protected active: boolean;
    /**
     * Subscriptions created during initialization
     */
    protected initSubscriptions: Subscription;
    /**
     * Html element of dynamic component
     */
    protected element: HTMLElement | undefined | null;
    /**
     * Minimal height of element
     */
    protected minHeight: string;
    /**
     * Minimal width of element
     */
    protected minWidth: string;
    /**
     * Instance of layout component renderer
     */
    protected layoutComponentRendererDirective?: LayoutComponentRendererSADirective;
    /**
     * Indication whether is flow of this component horizontal or vertical
     */
    horizontal: boolean;
    /**
     * Indication whether can drop children inside of this
     */
    canDrop: boolean;
    /**
     * Layout editor metadata
     */
    editorMetadata: LayoutEditorMetadataDescriptor | null;
    /**
     * Initialize component
     */
    ngOnInit(): void;
    /**
     * Called when input value changes
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Called when component is destroyed
     */
    ngOnDestroy(): void;
    /**
     * Initialize watching for children
     */
    protected init(): void;
    /**
     * Updates min dimensions if empty
     * @param element - Element to be checked for changes
     */
    protected updatedDimensions(element: HTMLElement): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DesignerMinDimensionSADirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DesignerMinDimensionSADirective, "[designerMinWidth]", never, { "horizontal": { "alias": "horizontal"; "required": false; }; "canDrop": { "alias": "canDrop"; "required": false; }; "editorMetadata": { "alias": "editorMetadata"; "required": false; }; }, {}, ["layoutComponentRendererDirective"], never, true, never>;
}
//# sourceMappingURL=designerMinDimension.directive.d.ts.map