/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { PositionPlacement } from '@tylertech/forge-core';
export declare const POPUP_CONSTANTS: {
    elementName: "forge-popup";
    classes: {
        OPEN: string;
        OPENING: string;
        CLOSED: string;
        SELECT: string;
    };
    selectors: {
        HOST: string;
        CONTAINER: string;
        INITIAL_FOCUS: string;
    };
    attributes: {
        CONTAINER: string;
        OPEN: string;
        PLACEMENT: string;
        MANAGE_FOCUS: string;
        ANIMATION_TYPE: string;
        STATIC: string;
        HIDE_WHEN_CLIPPED: string;
        HOST: string;
        INITIAL_FOCUS: string;
        CONSTRAIN_VIEWPORT_WIDTH: string;
    };
    events: {
        OPEN: string;
        CLOSE: string;
        POSITION: string;
        BLUR: string;
    };
    numbers: {
        ANIMATION_DURATION: number;
    };
};
export interface IPopupPosition {
    x: number;
    y: number;
}
export declare type PopupPlacement = PositionPlacement;
export declare enum PopupAnimationType {
    None = "none",
    Menu = "menu",
    Dropdown = "dropdown"
}
export interface IPopupPositionEventData extends IPopupPosition {
    visibility: 'visible' | 'hidden';
}
export declare type PopupStateCallback = () => boolean | void | Promise<boolean | void>;
