import { FunctionN } from 'fp-ts/lib/function'; import { IO } from 'fp-ts/lib/IO'; import { Ref, PropType } from 'vue'; export declare function getUseTogglePropsDefinition(statusName: K, defaultStatus?: boolean): UseTogglePropsDefinition; export declare type UseTogglePropsDefinition = { onToggle: { type: PropType>; required: false; }; onSetOn: { type: PropType>; required: false; }; onSetOff: { type: PropType>; required: false; }; } & Record; default: boolean; }> & Record<'hasPopup', { type: PropType; default: boolean; }>; export declare type UseToggleProps = Record & Record<'hasPopup', boolean>; export declare function getToggleAttrs(status: Ref, hasPopup: Ref): import("vue").ComputedRef<{ 'aria-haspopup'?: boolean; tabindex: number; role: string; type: string; 'aria-pressed': boolean; 'aria-expanded': boolean; }>; export declare type ToggleAttrs = ReturnType extends Ref ? A : never; declare function getListeners(toggle: IO): { onClick: IO; onKeydown: (e: KeyboardEvent) => void; }; export declare type ToggleListeners = ReturnType; export declare function useToggle(props: { onToggle?: FunctionN<[boolean], void>; onSetOn?: IO; onSetOff?: IO; } & Record & { hasPopup: boolean; }, statusName: K): { isOn: import("vue").WritableComputedRef; isOff: import("vue").ComputedRef; attrs: import("vue").ComputedRef<{ 'aria-haspopup'?: boolean; tabindex: number; role: string; type: string; 'aria-pressed': boolean; 'aria-expanded': boolean; }>; listeners: { onClick: IO; onKeydown: (e: KeyboardEvent) => void; }; props: import("vue").ComputedRef<{ onClick: IO; onKeydown: (e: KeyboardEvent) => void; 'aria-haspopup'?: boolean; tabindex: number; role: string; type: string; 'aria-pressed': boolean; 'aria-expanded': boolean; }>; setOn: (e?: Event | undefined) => void; setOff: (e?: Event | undefined) => void; toggle: (e?: Event | undefined) => void; }; export declare type Toggle = ReturnType; export {};