import type { MotionEmits, MotionHookName } from '../motion/common'; export interface UseFormPopoutProps { visible?: boolean; modelValue?: any; validateEvent?: boolean; resettable?: boolean; } export interface FormPopoutProps { visible?: boolean; title?: string; resettable?: boolean; validateEvent?: boolean; showConfirm?: boolean; } export declare function omitFormPopoutProps(props: T & FormPopoutProps): import("vue").ComputedRef>; export interface UseFormPopoutEmits extends MotionEmits { (e: 'update:visible', visible: boolean): void; (e: 'update:modelValue', ...args: any[]): void; (e: 'change', ...args: any[]): void; (e: 'confirm', ...args: any[]): void; } /** * 表单 Popout 组合式函数 * * 统一管理所有表单类 popout 组件(如 select-popout、picker-popout、datetime-picker-popout 等)的通用逻辑: * - `innerVisible` — 弹出层显示/隐藏状态(双向绑定 `visible`) * - `innerValue` — 已确认的外部值(同步自 `modelValue`,变更时触发表单校验) * - `draftValue` — 弹出层中的临时草稿值,仅在确认后同步到 `innerValue` * - `onChange` — 草稿变更回调,同时触发自定义 `onChange` 逻辑 * - `onConfirm` — 确认回调:若草稿值与当前值不同则 emit modelValue 更新及 change 事件 * - `onVisibleHook` — 动画生命周期钩子,支持 `resettable` 模式下关闭时重置草稿值 */ export declare function useFormPopout(props: UseFormPopoutProps, emit: UseFormPopoutEmits, options?: { onChange?: (...args: any[]) => void; onConfirmBefore?: () => any; }): { hasChange: import("vue").Ref; innerVisible: import("vue").ModelRef; innerValue: import("vue").Ref; draftValue: import("vue").Ref; onChange: (value: any, ...args: any[]) => void; onConfirm: (showConfirm?: boolean) => void; onVisibleHook: (name: MotionHookName, el: Element) => void; };