import { PropType } from "vue"; type Direction = "tl" | "tr" | "tc" | "bl" | "br" | "bc" | "rt" | "rb" | "rc" | "lt" | "lb" | "lc"; type DirectionChar = Direction extends `${infer X}${infer Y}` ? X | Y : never; declare const _sfc_main: import("vue").DefineComponent<{ isOpen: { type: BooleanConstructor; required: true; }; closeOnBlur: { type: BooleanConstructor; required: false; default: boolean; }; layer: { type: PropType<"overlay" | "base" | "floating" | "popover">; required: false; default: string; }; gap: { type: PropType<"at" | "no" | "xs2" | "xs" | "sm" | "md" | "lg" | "xl" | "xl2" | "xl3" | "xl4" | "max">; required: false; default: string; }; direction: { type: PropType; required: false; default: string; }; shadow: { type: BooleanConstructor; required: false; default: boolean; }; animation: { type: BooleanConstructor; required: false; default: boolean; }; /** * 配置方向を固定するかどうかを設定します。 * - true: 配置方向を固定します。 * - false: 回り込みロジックが適用されます。 */ isDirectionFixed: { type: BooleanConstructor; required: false; default: boolean; }; }, { __sfc: boolean; props: Readonly>>; emit: { (event: "onClose", isOpen: boolean): void; (event: "onTurn", direction: Direction): void; (event: "mouseLeave", e: MouseEvent): void; }; isActuallyOpen: import("vue").Ref; popupRef: import("vue").Ref; popupSize: { width: number; height: number; }; injected: { initialPxInfo: { top: number; left: number; right: number; bottom: number; width: number; height: number; }; bodyPxInfo: { readonly top: number; readonly left: number; readonly right: number; readonly bottom: number; readonly width: number; readonly height: number; }; updateBodyPxInfo: () => void; containerRef: import("vue").Ref; }; bodyPxInfo: { readonly top: number; readonly left: number; readonly right: number; readonly bottom: number; readonly width: number; readonly height: number; }; updateBodyPxInfo: () => void; containerRef: import("vue").Ref; togglePopup: () => boolean | undefined; existsFixedOrStickyParent: (el: HTMLElement | null) => HTMLElement | null; removeScrollHandler: null; onChangeIsOpen: (newValue: boolean) => void; observer: ResizeObserver; popupRect: import("vue").ComputedRef<{ width: number; height: number; left: number; top: number; right: number; bottom: number; }>; spaceBetweenPopupAndWindow: import("vue").ComputedRef<{ top: number; right: number; bottom: number; left: number; }>; isDirectionChar: (char: string) => char is "t" | "c" | "b" | "l" | "r"; directionToTuple: (direction: Direction) => [DirectionChar, DirectionChar]; convertDirection: (char: DirectionChar) => "c" | "b" | "t" | "r" | "l"; computedDirection: import("vue").ComputedRef; isFixed: import("vue").ComputedRef; inset: import("vue").ComputedRef; popupTranslate: import("vue").ComputedRef; mouseLeave: (e: MouseEvent) => void; popupFixedStyle: string; popupHiddenStyle: string; popupShadowStyle: string; popupStyle: string; zIndexStyle: Record<"overlay" | "base" | "floating" | "dialog" | "popover", string>; MountingPortal: import("vue").VueConstructor<{ append: string | boolean; bail: boolean; mountTo: string; disabled: boolean; name: string; order: number; slim: boolean; slotProps: any; tag: string; to: string; multiple: boolean; targetSlim: boolean; targetSlotProps: any; targetTag: string; transition: import("portal-vue/types/lib/types").PropWithComponent; } & import("vue").default, Record, never, never, (event: string, ...args: any[]) => import("vue").default, Record, never, never, any>> & { portalTarget: any; }>; }, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, ("onClose" | "onTurn" | "mouseLeave")[], string, Readonly; required: false; default: string; }; gap: { type: PropType<"at" | "no" | "xs2" | "xs" | "sm" | "md" | "lg" | "xl" | "xl2" | "xl3" | "xl4" | "max">; required: false; default: string; }; direction: { type: PropType; required: false; default: string; }; shadow: { type: BooleanConstructor; required: false; default: boolean; }; animation: { type: BooleanConstructor; required: false; default: boolean; }; /** * 配置方向を固定するかどうかを設定します。 * - true: 配置方向を固定します。 * - false: 回り込みロジックが適用されます。 */ isDirectionFixed: { type: BooleanConstructor; required: false; default: boolean; }; }>>, { direction: Direction; animation: boolean; gap: "at" | "no" | "xs2" | "xs" | "sm" | "md" | "lg" | "xl" | "xl2" | "xl3" | "xl4" | "max"; isDirectionFixed: boolean; closeOnBlur: boolean; layer: "overlay" | "base" | "floating" | "popover"; shadow: boolean; }>; export default _sfc_main;