import type { RendererProps, SchemaBoolean, SchemaClassName } from 'jamis-core';
import type { Offset, SchemaCollection } from '../types';
export type PopOverPosition = 'auto' | 'center' | 'left-top' | 'left-top-left-top' | 'left-top-left-center' | 'left-top-left-bottom' | 'left-top-center-top' | 'left-top-center-center' | 'left-top-center-bottom' | 'left-top-right-top' | 'left-top-right-center' | 'left-top-right-bottom' | 'right-top' | 'right-top-left-top' | 'right-top-left-center' | 'right-top-left-bottom' | 'right-top-center-top' | 'right-top-center-center' | 'right-top-center-bottom' | 'right-top-right-top' | 'right-top-right-center' | 'right-top-right-bottom' | 'left-bottom' | 'left-bottom-left-top' | 'left-bottom-left-center' | 'left-bottom-left-bottom' | 'left-bottom-center-top' | 'left-bottom-center-center' | 'left-bottom-center-bottom' | 'left-bottom-right-top' | 'left-bottom-right-center' | 'left-bottom-right-bottom' | 'right-bottom' | 'right-bottom-left-top' | 'right-bottom-left-center' | 'right-bottom-left-bottom' | 'right-bottom-center-top' | 'right-bottom-center-center' | 'right-bottom-center-bottom' | 'right-bottom-right-top' | 'right-bottom-right-center' | 'right-bottom-right-bottom' | 'fixed-center' | 'fixed-left-top' | 'fixed-right-top' | 'fixed-left-bottom' | 'fixed-right-bottom';
export interface SchemaPopOverObject {
    /**
     * HOC弹框容器`.cxd-PopOverAble`
     */
    className?: SchemaClassName;
    /**
     * 弹框外层`.cxd-PopOverAble-popover`类名
     */
    popOverClassName?: SchemaClassName;
    /**
     * 元素`.cxd-PopOverWrap`的样式类
     */
    popOverWrapClassName?: SchemaClassName;
    popOverBtnClassName?: SchemaClassName;
    popOverEnable?: boolean;
    /**
     * 配置当前行是否启动，要用表达式
     */
    popOverEnableOn?: SchemaBoolean;
    /**
     * 弹出模式
     */
    mode?: 'dialog' | 'drawer' | 'popOver';
    /**
     * 是弹窗形式的时候有用。
     */
    size?: 'sm' | 'md' | 'lg' | 'xl';
    /**
     * 弹出位置
     */
    position?: PopOverPosition;
    /**
     * 触发条件，默认是 click
     */
    trigger?: 'click' | 'hover';
    /**
     * 是否显示查看更多的 icon，通常是放大图标。
     */
    showIcon?: boolean;
    /**
     * 偏移量
     */
    offset?: Partial<Offset>;
    /**
     * 标题
     */
    title?: string;
    body?: SchemaCollection;
    /**
     * 外部控制的打开状态
     */
    isOpened?: boolean | SchemaBoolean;
    isOpenedOn?: SchemaBoolean;
    /**
     * 点击外部时是否关闭popover
     */
    closeOnOutside?: boolean;
    closeOnOutsideOn?: SchemaBoolean;
    /**
     * 点击container时是否关闭popover, 默认是true
     */
    closeOnContainer?: boolean;
}
export type SchemaPopOver = boolean | SchemaPopOverObject;
export interface PopOverHocProps extends RendererProps {
    name?: string;
    label?: string;
    popOver: boolean | SchemaPopOverObject;
    /**
     * @deprecated 使用 popOverEnabled 替代
     */
    popOverEnable?: boolean | string;
    popOverEnabled?: boolean | string;
    onPopOverOpened: (popover: any) => void | boolean;
    onPopOverClosed: (popover: any) => void | boolean;
}
