import { ElementRef, EventEmitter, OnInit } from '@angular/core';
import { OverflowLayoutFocusableItem } from '../interfaces/overflow-focusable-item.interface';
import { OverflowItemRef } from '../interfaces/overflow-item-ref.interface';
import { OverflowItem } from '../interfaces/overflow-item.interface';
import * as i0 from "@angular/core";
/**
 * Directive to mark element as part of for Overflow Layout Component items.
 */
export declare class OverflowLayoutItemDirective implements OverflowItem, OnInit {
    /** Whether to force the visibility of the item. */
    set forceVisibility(value: boolean);
    get forceVisibility(): boolean;
    /**
     * Event emitted when `hidden` property has been changed.
     */
    hiddenChange: EventEmitter<boolean>;
    /**
     * Whether the item is hidden.
     */
    set hidden(value: boolean);
    get hidden(): boolean;
    /**
     * Focusable item for keyboard navigation.
     */
    focusableItem: OverflowLayoutFocusableItem;
    /** Reference to the element */
    elmRef: ElementRef<any>;
    /** @hidden */
    protected _overflowItemRef: OverflowItemRef | null;
    /** @hidden */
    private _forceVisibility;
    /** @hidden */
    private _overflowContainer;
    /** @hidden */
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OverflowLayoutItemDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<OverflowLayoutItemDirective, "[fdOverflowLayoutItem]", never, { "forceVisibility": { "alias": "forceVisibility"; "required": false; }; }, { "hiddenChange": "hiddenChange"; }, never, never, true, never>;
}
