import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class OverflowDirective implements OnInit, AfterViewInit, OnDestroy {
    private readonly _elementRef;
    /** Allow a observable to be used to check for overflow */
    trigger: Observable<void>;
    /** Allow overflow to be within a range before emitting */
    tolerance: number;
    /** Emit when there is a change to the overflow state - horizontal or vertical */
    uxOverflowObserver: EventEmitter<boolean>;
    /** Emit when there is a change to overflow on the horizontal axis */
    uxOverflowHorizontalObserver: EventEmitter<boolean>;
    /** Emit when there is a change to overflow on the vertical axis */
    uxOverflowVerticalObserver: EventEmitter<boolean>;
    /** Store the overflow state on both axis */
    private _state;
    /** Unsubscribe from all the observables */
    private readonly _onDestroy;
    /** Set up the trigger if specified */
    ngOnInit(): void;
    /** Perform an intial check for overflow */
    ngAfterViewInit(): void;
    /** Unsubscribe from the trigger */
    ngOnDestroy(): void;
    /** Programmatically trigger check for overflow */
    checkForOverflow(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OverflowDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<OverflowDirective, "[uxOverflowObserver], [uxOverflowHorizontalObserver], [uxOverflowVerticalObserver]", ["ux-overflow-observer"], { "trigger": { "alias": "trigger"; "required": false; }; "tolerance": { "alias": "tolerance"; "required": false; }; }, { "uxOverflowObserver": "uxOverflowObserver"; "uxOverflowHorizontalObserver": "uxOverflowHorizontalObserver"; "uxOverflowVerticalObserver": "uxOverflowVerticalObserver"; }, never, never, false, never>;
}
