import { OnInit, ViewContainerRef, TemplateRef } from '@angular/core';
import { WindowService } from '../../../core/window.service';
/**
 * Conditionally include content in the DOM based on the width of the viewport. Use to programmatically implement reponsive layouts and prevent duplicate markup and listeners.
 * In most scenarios CSS media queries is sufficient to hide/show elements responsively. However, in some cases media queries would result in duplicate markup and listeners
 * that could cause undesired side effects and it is preferred to us programmatic elements to achieve the layout.
 */
export declare class IfViewportWidthDirective implements OnInit {
    private viewContainer;
    private templateRef;
    private windowService;
    /**
     * The min and, optionally, max width in pixels that the viewport must be in order to include the directive and its content in the DOM.
     * A single number can be used to set the min width, but an object with min and max must be used to set a min and max width or just a max width.
     *
     * ```html
     * <div *ecIfViewportWidth="500">Content to render if viewport width is >= 500px</div>
     * <div *ecIfViewportWidth="{max: 800}">Content to render if the viewport width is <= 800px</div>
     * <div *ecIfViewportWidth="{min: 500, max: 800}">Content to render if the viewport width is between 500px and 800px</div>
     * ```
     */
    width: number | {
        min?: number;
        max?: number;
    };
    /**
     * If defined, the width in pixels that the viewport must be to include the directive and its content in the DOM
     */
    private minWidth?;
    /**
     * If defined, the width in pixels that the viewport cannot be greater than to include the directive and its conten in the DOM
     */
    private maxWidth?;
    /**
     * Used to unsubscribe when the directive is removed from the DOM
     */
    private destroyed;
    /**
     * Internally tracks whether the directive and its content is included in the DOM
     */
    private isVisible;
    constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<any>, windowService: WindowService);
    ngOnInit(): void;
    /**
     * Get the current viewport width and determin if the directive's content should be
     * included in the DOM based on the min and max width settings
     */
    private updateVisibility;
    /**
     * Add the directive's content to the DOM
     */
    private show;
    /**
     * Remove the directive's content from the DOM
     */
    private hide;
}
