import { AnimationBuilder } from "@angular/animations";
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from "@angular/core";
import { PanelBackgroundColor, PanelModes } from "./public-api";
import * as i0 from "@angular/core";
export declare class PanelComponent implements AfterViewInit, OnChanges, OnInit, OnDestroy {
    private renderer;
    private builder;
    private changeDetectorRef;
    static ANIMATION_TIME: number;
    static RESIZE_DIRECTIVE_WIDTH: string;
    static SIZE_VALUES: any;
    /**
     * Use this attribute to set the mode of the panel, by default is set to 'static',
     * collapsible mode allows panel to be opened or collapsed, 'hoverable' mode make panel displayed with the hover,
     * 'closable' allows to close panel by click.
     */
    panelMode: PanelModes;
    /**
     * Use this attribute to set the text for the header if transclusion of custom header content is not being used.
     */
    heading: string;
    /**
     * Set this to true in order to set the collapsed state of the side pane
     */
    set isCollapsed(value: boolean);
    get isCollapsed(): boolean;
    /**
     * Show sidebar over content if displacePrimaryContent = false, show sidebar near content if displacePrimaryContent = true
     */
    displacePrimaryContent: boolean;
    /**
     * Set this to true in order to hide the side pane. This may be useful if you want to use nui-panel but want to
     * show the left pane conditionally.
     */
    set isHidden(value: boolean);
    get isHidden(): boolean;
    /**
     * Define orientation of a panel. Possible values are: "right", "left", "top", "bottom"
     */
    orientation: string;
    /**
     * Use this attribute to make side pane resizable.
     */
    isResizable: boolean;
    /**
     * Use this attribute to remove default padding from header.
     */
    headerPadding: boolean;
    /**
     * Use this attribute to remove default padding from side pane body.
     */
    sidePaneBodyPadding: boolean;
    /**
     * Use this attribute to set pane right border dark color.
     */
    darkBorder: boolean;
    /**
     * Use this attribute to set the desired size for the side pane in pixels. The default is 250px.
     */
    paneSize: string;
    panelBackgroundColor: PanelBackgroundColor;
    paneCollapsedSize: string;
    paneMinSize: string;
    paneMaxSize: string;
    collapsed: EventEmitter<boolean>;
    hidden: EventEmitter<boolean>;
    private panelMainContent;
    private headerContent;
    private footerContent;
    private sidePaneContainer;
    displayFooter: boolean;
    displayPanelHeader: boolean;
    isCollapsible: boolean;
    isClosable: boolean;
    isHoverable: boolean;
    isAnimating: boolean;
    private _isCollapsed;
    private _isHidden;
    private toggles;
    private togglesSubscription;
    private _expandAnimationFactory?;
    private _collapseAnimationFactory?;
    private lastAnimationPlayer?;
    constructor(renderer: Renderer2, builder: AnimationBuilder, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onSizeChanged(newSize: string): void;
    get panelClass(): string;
    get paneDirectionHorizontal(): boolean;
    get mainIcon(): string;
    toggleEnter(): void;
    toggleLeave(): void;
    isPanelResizable(): boolean;
    toggleHideOrCollapsed(): void;
    private toggleCollapsed;
    private defineIsCollapsed;
    getResizeDirection(): string | undefined;
    getPaneSizeMeasurement(): string;
    get paneBodyWidth(): string;
    get paneBodyHeight(): string;
    handleContentMargin(): void;
    applyBoundarySizes(): void;
    removeMinSize(): void;
    toggleCollapsedOnClick(): void;
    get sizeParameter(): string;
    get showDefaultIcon(): boolean;
    private defineState;
    private defineSizes;
    private get panelState();
    private checkPanelEmbeddedContent;
    private updatePaneContainerSizeWithoutAnimation;
    private getPaneContainerElement;
    private getPanelMainContentElement;
    private get expandAnimationFactory();
    private get collapseAnimationFactory();
    private buildAnimationFactory;
    private destroyLastAnimationPlayer;
    private destroyAnimationFactories;
    static ɵfac: i0.ɵɵFactoryDeclaration<PanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PanelComponent, "nui-panel", never, { "panelMode": { "alias": "panelMode"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "displacePrimaryContent": { "alias": "displacePrimaryContent"; "required": false; }; "isHidden": { "alias": "isHidden"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "isResizable": { "alias": "isResizable"; "required": false; }; "headerPadding": { "alias": "headerPadding"; "required": false; }; "sidePaneBodyPadding": { "alias": "sidePaneBodyPadding"; "required": false; }; "darkBorder": { "alias": "darkBorder"; "required": false; }; "paneSize": { "alias": "paneSize"; "required": false; }; "panelBackgroundColor": { "alias": "panelBackgroundColor"; "required": false; }; "paneCollapsedSize": { "alias": "paneCollapsedSize"; "required": false; }; "paneMinSize": { "alias": "paneMinSize"; "required": false; }; "paneMaxSize": { "alias": "paneMaxSize"; "required": false; }; }, { "collapsed": "collapsed"; "hidden": "hidden"; }, never, ["[nuiPanelEmbeddedIcon]", "[nuiPanelEmbeddedHeading]", "[nuiPanelEmbeddedBody]", "[nuiPanelEmbeddedFooter]", "*"], false, never>;
}
