import { EventEmitter, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
export declare class FocusWithinDirective implements OnDestroy {
    private readonly _elementRef;
    /** Emits when a child element gains focus */
    uxFocusWithin: EventEmitter<void>;
    /** Emits when a child element loses focus */
    uxBlurWithin: EventEmitter<void>;
    /**
     * Note: We used to use @angular/cdk FocusMonitor here instead of manually listening
     * to focus blur events, however this was problematic as any child elements using the FocusMonitor,
     * eg: `uxFocusIndicator` which not get the correct `origin`, they will instead get a programmatic
     * origin even if it was clicked or focused via the keyboard.
     */
    constructor();
    ngOnDestroy(): void;
    private onFocus;
    private onBlur;
    static ɵfac: i0.ɵɵFactoryDeclaration<FocusWithinDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FocusWithinDirective, "[uxFocusWithin],[uxBlurWithin]", never, {}, { "uxFocusWithin": "uxFocusWithin"; "uxBlurWithin": "uxBlurWithin"; }, never, never, false, never>;
}
