import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { Destroy } from '@deja-js/component/core';
import * as i0 from "@angular/core";
export declare class DejaSnackbarComponent extends Destroy implements OnInit, AfterViewInit, OnDestroy {
    private elementRef;
    /**
     * all snackbar instances
     */
    private static INSTANCES;
    /**
 * callback used to negate the boolean responsible for the presence of the snackbar on the dom (see demo)
 */
    readonly onAnimationDone: EventEmitter<any>;
    /**
     * inner container
     */
    /**
     * specify delay for the enter animation
     */
    delay: number;
    /**
     * specify lifetime of the snackbar on the screen
     */
    duration: number;
    /**
     * set a container for the snackbar instead of default behavior (viewport)
     */
    outerContainerElement: HTMLElement;
    /**
     * inner container element, represent the snackbar since the host has no height width and a position relative to it's html declaration
     */
    private host;
    /**
     * height of the inner container element
     */
    private height;
    /**
     * vertical space between snackbar
     */
    private marginTop;
    /**
     * snackbar creation timestamp, used for calculation, forthe adapt animation
     */
    private timestamp;
    /**
     * enter animation duration
     */
    private enterAnimationDuration;
    /**
     * leave animation duration
     */
    private leaveAnimationDuration;
    /**
     * adapt animation duration
     */
    private adaptAnimationDuration;
    /**
     * string representation of the alignment, used for statements and initial final position
     */
    private anchor;
    /**
     * object representation of the alignment, used to filter incompatible alignments and build the string representation
     */
    private _alignments;
    private animate$;
    private animate$sub;
    /**
     * _alignments setter
     */
    set alignment(value: string);
    /**
     * Creates an instance of DejaSnackbarComponent.
     *
     * @param elementRef
     * @param renderer
     */
    constructor(elementRef: ElementRef<HTMLElement>);
    /**
     * used to recalculate the position of the snackbar on the X axis when resizing / changing from landscape to portrait and vice versa
     *
     * @param event
     */
    onResize(): void;
    /**
     * onInit hook
     */
    ngOnInit(): void;
    /**
     * afterviewInit hook
     */
    ngAfterViewInit(): void;
    /**
     * onDestroy hook
     */
    ngOnDestroy(): void;
    /**
     * emit animation done
     *
     * @param event
     */
    protected animationDone(event: Event): void;
    protected increaseElevation(): void;
    protected decreaseElevation(): void;
    /**
     * compute cumulated height of all snackbars, precedent instance height, width and height of the innerContainer
     *
     * @return cumulated height of all snackbars, precedent instance height, width and height of the innerContainer
     */
    private computePosition;
    /**
     * set the final position of the snackbar
     */
    private setPosition;
    /**
     * recalculate X position for the snackbar (see @HostListener)
     */
    private setNewWidth;
    /**
     * launch adapt animation (snackbar disposal trigger this method)
     * important note:
     * matrix retrieval is used instead of translate Y because using translateY in enter and adapt animation seems
     * to cause unexpected behavior (understand bug)
     * there is also a known bug, if you close a snackbar which share anchor and container with an other one created at the same moment
     * adaptation of the position will not be performed correctly, see demo for more information about how to avoid this behavior
     *
     * @param height
     */
    private launchAdaptAnimation;
    /**
     * launch enter animation (snackbar instanciation trigger this method)
     */
    private launchEnterAnimation;
    /**
     * launch leave animation (snackbar lifetime flow trigger this animation)
     */
    private launchLeaveAnimation;
    static ɵfac: i0.ɵɵFactoryDeclaration<DejaSnackbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DejaSnackbarComponent, "deja-snackbar", never, { "delay": "delay"; "duration": "duration"; "outerContainerElement": "outerContainerElement"; "alignment": "alignment"; }, { "onAnimationDone": "onAnimationDone"; }, never, ["*"]>;
}
