import { Overlay } from '@angular/cdk/overlay';
import { Platform } from '@angular/cdk/platform';
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
import { NzConfigKey, NzConfigService } from 'ng-zorro-antd/core/config';
import { IndexableObject } from 'ng-zorro-antd/core/types';
import { NzDropdownMenuComponent, NzPlacementType } from './dropdown-menu.component';
import * as i0 from "@angular/core";
export declare class NzDropDownDirective implements AfterViewInit, OnDestroy, OnChanges {
    readonly nzConfigService: NzConfigService;
    elementRef: ElementRef;
    private overlay;
    private renderer;
    private viewContainerRef;
    private platform;
    readonly _nzModuleName: NzConfigKey;
    private portal?;
    private overlayRef;
    private destroy$;
    private positionStrategy;
    private inputVisible$;
    private nzTrigger$;
    private overlayClose$;
    nzDropdownMenu: NzDropdownMenuComponent | null;
    nzTrigger: 'click' | 'hover';
    nzMatchWidthElement: ElementRef | null;
    nzBackdrop: boolean;
    nzClickHide: boolean;
    nzDisabled: boolean;
    nzVisible: boolean;
    nzOverlayClassName: string;
    nzOverlayStyle: IndexableObject;
    nzPlacement: NzPlacementType;
    readonly nzVisibleChange: EventEmitter<boolean>;
    setDropdownMenuValue<T extends keyof NzDropdownMenuComponent>(key: T, value: NzDropdownMenuComponent[T]): void;
    constructor(nzConfigService: NzConfigService, elementRef: ElementRef, overlay: Overlay, renderer: Renderer2, viewContainerRef: ViewContainerRef, platform: Platform);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzDropDownDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NzDropDownDirective, "[nz-dropdown]", ["nzDropdown"], { "nzDropdownMenu": { "alias": "nzDropdownMenu"; "required": false; }; "nzTrigger": { "alias": "nzTrigger"; "required": false; }; "nzMatchWidthElement": { "alias": "nzMatchWidthElement"; "required": false; }; "nzBackdrop": { "alias": "nzBackdrop"; "required": false; }; "nzClickHide": { "alias": "nzClickHide"; "required": false; }; "nzDisabled": { "alias": "nzDisabled"; "required": false; }; "nzVisible": { "alias": "nzVisible"; "required": false; }; "nzOverlayClassName": { "alias": "nzOverlayClassName"; "required": false; }; "nzOverlayStyle": { "alias": "nzOverlayStyle"; "required": false; }; "nzPlacement": { "alias": "nzPlacement"; "required": false; }; }, { "nzVisibleChange": "nzVisibleChange"; }, never, never, true, never>;
    static ngAcceptInputType_nzBackdrop: unknown;
    static ngAcceptInputType_nzClickHide: unknown;
    static ngAcceptInputType_nzDisabled: unknown;
    static ngAcceptInputType_nzVisible: unknown;
}
