import type { Ref, ExtractPropTypes } from 'vue'; declare const _prop: { type: PropType; default: null; }; declare const _event: { type: PropType<(val: boolean) => void>; }; type _UseModelToggleProps = { [K in T]: typeof _prop; } & { [K in `onUpdate:${T}`]: typeof _event; }; export declare const createModelToggleComposable: (name: T) => { useModelToggle: ({ indicator, shouldHideWhenRouteChanges, shouldProceed, onShow, onHide }: ModelToggleParams) => { hide: () => void; show: () => void; toggle: () => void; }; useModelToggleProps: _UseModelToggleProps; useModelToggleEmits: string[]; }; declare const useModelToggle: ({ indicator, shouldHideWhenRouteChanges, shouldProceed, onShow, onHide }: ModelToggleParams) => { hide: () => void; show: () => void; toggle: () => void; }, useModelToggleProps: _UseModelToggleProps<"modelValue">, useModelToggleEmits: string[]; export { useModelToggle, useModelToggleEmits, useModelToggleProps }; export type UseModelToggleProps = ExtractPropTypes; export type ModelToggleParams = { indicator: Ref; shouldHideWhenRouteChanges?: Ref; shouldProceed?: () => boolean; onShow?: () => void; onHide?: () => void; };