import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
import { DropdownConfig } from './dropdown.config';
import { DropdownMenuDirective } from './dropdown-menu.directive';
import { Overlay, OverlayRef } from '@angular/cdk/overlay';
export declare class DropdownDirective implements OnInit, OnDestroy, AfterContentInit {
    private _elementRef;
    private _viewContainerRef;
    overlay: Overlay;
    _config: DropdownConfig;
    menu: DropdownMenuDirective;
    _overlayRef: OverlayRef | null;
    private _portal;
    private readonly _destroyed;
    isOpen: boolean;
    placement: 'top' | 'bottom' | 'left' | 'right';
    private _autoClose;
    autoClose: boolean;
    isOpenChange: EventEmitter<boolean>;
    onShown: EventEmitter<any>;
    onHidden: EventEmitter<any>;
    isDisabled: boolean;
    showDelay: number;
    hideDelay: number;
    maxWidthRelativeTo: string;
    minWidthRelativeTo: string;
    constructor(_elementRef: ElementRef, _viewContainerRef: ViewContainerRef, overlay: Overlay, _config: DropdownConfig);
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    /**
     * Toggles an element’s popover. This is considered a “manual” triggering of
     * the popover.
     */
    toggle(value?: boolean): void;
    show(delay?: number): void;
    hide(delay?: number): void;
    private _createOverlay;
    private _detach;
    private _setWidthsRelativeTo;
    private _updatePosition;
    /**
     * Returns the origin position and a fallback position based on the user's position preference.
     * The fallback position is the inverse of the origin (e.g. `'bottom' -> 'top'`).
     */
    private _getOrigin;
    /** Returns the overlay position and a fallback position based on the user's preference */
    private _getOverlayPosition;
    private _invertPosition;
}
