/**
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/../blob/master/LICENSE
 */
import { CdkConnectedOverlay, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';
import { DestroyService } from '../../date-picker.service';
import * as i0 from "@angular/core";
export declare type SafeAny = any;
/**
 * Input decorator that handle a prop to do get/set automatically with toBoolean
 *
 * Why not using @InputBoolean alone without @Input? AOT needs @Input to be visible
 *
 * @howToUse
 * ```
 * @Input() @InputBoolean() visible: boolean = false;
 *
 * // Act as below:
 * // @Input()
 * // get visible() { return this.__visible; }
 * // set visible(value) { this.__visible = value; }
 * // __visible = false;
 * ```
 */
export declare function InputBoolean(): any;
export declare function toBoolean(value: boolean | string): boolean;
export declare class NzConnectedOverlayDirective {
    private readonly cdkConnectedOverlay;
    private readonly nzDestroyService;
    nzArrowPointAtCenter: boolean;
    constructor(cdkConnectedOverlay: CdkConnectedOverlay, nzDestroyService: DestroyService);
    private updateArrowPosition;
    private getFlexibleConnectedPositionStrategyOrigin;
    private getOriginRect;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzConnectedOverlayDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NzConnectedOverlayDirective, "[cdkConnectedOverlay][nzConnectedOverlay]", ["nzConnectedOverlay"], { "nzArrowPointAtCenter": "nzArrowPointAtCenter"; }, {}, never, never, true>;
}
export declare const POSITION_MAP: {
    top: ConnectionPositionPair;
    topCenter: ConnectionPositionPair;
    topLeft: ConnectionPositionPair;
    topRight: ConnectionPositionPair;
    right: ConnectionPositionPair;
    rightTop: ConnectionPositionPair;
    rightBottom: ConnectionPositionPair;
    bottom: ConnectionPositionPair;
    bottomCenter: ConnectionPositionPair;
    bottomLeft: ConnectionPositionPair;
    bottomRight: ConnectionPositionPair;
    left: ConnectionPositionPair;
    leftTop: ConnectionPositionPair;
    leftBottom: ConnectionPositionPair;
};
export declare type POSITION_TYPE = keyof typeof POSITION_MAP;
export declare type POSITION_TYPE_HORIZONTAL = Extract<POSITION_TYPE, 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight'>;
export declare const DEFAULT_TOOLTIP_POSITIONS: ConnectionPositionPair[];
export declare const DEFAULT_CASCADER_POSITIONS: ConnectionPositionPair[];
export declare const DEFAULT_MENTION_TOP_POSITIONS: ConnectionPositionPair[];
export declare const DEFAULT_MENTION_BOTTOM_POSITIONS: ConnectionPositionPair[];
export declare function getPlacementName(position: ConnectedOverlayPositionChange): string | undefined;
export declare const DATE_PICKER_POSITION_MAP: {
    bottomLeft: ConnectionPositionPair;
    topLeft: ConnectionPositionPair;
    bottomRight: ConnectionPositionPair;
    topRight: ConnectionPositionPair;
};
export declare const DEFAULT_DATE_PICKER_POSITIONS: ConnectionPositionPair[];
