import type { IButtonProps } from '../button'; export declare type IOffset = { left?: number; top: number; } | { left: number; top?: number; } | { left: number; top: number; }; export declare type IModalPositionType = 'popup' | 'stack'; export interface IPopupPositionProps { parentSize: ClientRect | null; avoidCollision?: boolean; avoidElementVert?: boolean; forceTop?: boolean; containRight?: boolean; referenceSize?: ClientRect; position?: { top: number; left: number; }; offset?: IOffset; } export interface IStackPositionProps { /** As modal pop up in `position: absolute` way, you can set the position directly by this property */ position?: { top?: number; left?: number; right?: number; bottom?: number; }; } export interface IPopupPosition { type: 'popup'; props: IPopupPositionProps; } export interface IStackPosition { type: 'stack'; props?: IStackPositionProps; } export declare type IOnClose = () => void; export declare type ModalSize = 'small' | 'medium' | 'large'; export declare type AnimationStartPosition = { x: number; y: number; } | null; declare type IFooterButtonProps = Omit; export declare type IOkButtonProps = IFooterButtonProps; export declare type ICancelButtonProps = IFooterButtonProps; export {};