import type { ExtractPropType } from 'element-plus/es/utils'; import type { ExtractPropTypes, Ref } from 'vue'; declare const _prop: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (boolean | null) & {}) | (() => boolean | null) | ((new (...args: any[]) => (boolean | null) & {}) | (() => boolean | null))[], never, never, null, false>; declare const _event: { readonly type: import("vue").PropType<(val: boolean) => void>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; export declare type UseModelTogglePropsRaw = { [K in T]: typeof _prop; } & { [K in `onUpdate:${T}`]: typeof _event; }; export declare type UseModelTogglePropsGeneric = { [K in T]: ExtractPropType; } & { [K in `onUpdate:${T}`]: ExtractPropType; }; export declare const createModelToggleComposable: (name: T) => { useModelToggle: ({ indicator, toggleReason, shouldHideWhenRouteChanges, shouldProceed, onShow, onHide, }: ModelToggleParams) => { hide: (event?: Event) => void; show: (event?: Event) => void; toggle: () => void; hasUpdateHandler: import("vue").ComputedRef; }; useModelToggleProps: UseModelTogglePropsRaw; useModelToggleEmits: `update:${T}`[]; }; declare const useModelToggle: ({ indicator, toggleReason, shouldHideWhenRouteChanges, shouldProceed, onShow, onHide, }: ModelToggleParams) => { hide: (event?: Event) => void; show: (event?: Event) => void; toggle: () => void; hasUpdateHandler: import("vue").ComputedRef; }, useModelToggleProps: UseModelTogglePropsRaw<"modelValue">, useModelToggleEmits: "update:modelValue"[]; export { useModelToggle, useModelToggleEmits, useModelToggleProps }; export declare type UseModelToggleProps = ExtractPropTypes; export declare type ModelToggleParams = { indicator: Ref; toggleReason?: Ref; shouldHideWhenRouteChanges?: Ref; shouldProceed?: () => boolean; onShow?: (event?: Event) => void; onHide?: (event?: Event) => void; };