import { ElementRef, Renderer2 } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * A directive to determine if a dropdown should open to the top or as usual to the bottom.
 * It starts by checking the available space on the closese parent container with the class
 * `inner-scroll`, fallback to the `window.innerHeight` if no parent is found.
 * This directive has a direct dependency to the bootstrap dropdown (!)
 *
 * Preconditions:
 *  - Bootstrap dropdown is used
 *  - Bootstrap dropdown is not used with container="body"
 *  - Bootstrap dropdown is used like it is intended and documented for e.g.
 * ```html
 * <div dropdown class="dropdown">
 *  <button class="dropdown-toggle" dropdownToggle>Toggle</button>
 *  <ul class="dropdown-menu" *dropdownMenu>
 *    <!-- Content here -->
 *  </ul>
 * </div>
 * ```
 *
 * ```html
 * <div dropdown c8yBsDropdownDirection class="dropdown">
 *  <button class="dropdown-toggle" dropdownToggle>Toggle</button>
 *  <ul class="dropdown-menu" *dropdownMenu>
 *    <!-- Content here -->
 *  </ul>
 * </div>
 * ```
 * Make use of the bootstrap dropdown as usual and additionally add the direction directive to it.
 */
export declare class DropdownDirectionDirective {
    private elementRef;
    private renderer;
    private readonly MARGIN_BOTTOM;
    private readonly VISIBILITY;
    private readonly DROPUP;
    private readonly MENUHEIGHT;
    private readonly MAX_ANCESTOR_SEARCH_ITERATIONS;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    onClick(): void;
    private shouldDropup;
    static ɵfac: i0.ɵɵFactoryDeclaration<DropdownDirectionDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownDirectionDirective, "[dropdown][c8yBsDropdownDirection],[dropdown][c8yDropdownDirection]", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=dropdown-direction.directive.d.ts.map