import { ExtractPropTypes } from 'vue'; import { ISharedRenderlessFunctionParams, ITinyVm } from '../../../shared.type'; import { bindEvent, show, hide, handleFocus, handleBlur, removeFocusing, handleShowPopper, handleClosePopper, setExpectedState, destroyed, debounceClose, watchFocusing, bindPopper, focusHandler, observeCallback, handleDocumentClick } from './renderless'; export { ITinyVm }; export declare const tooltipProps: { visible: { type: StringConstructor; default: () => string; validator: (value: string) => boolean; }; adjustArrow: { type: BooleanConstructor; default: () => boolean; }; appendToBody: { type: BooleanConstructor; default: () => boolean; }; arrowOffset: { type: NumberConstructor; default: () => number; }; content: { type: (StringConstructor | ObjectConstructor)[]; }; disabled: { type: BooleanConstructor; }; enterable: { type: BooleanConstructor; default: () => boolean; }; hideAfter: { type: NumberConstructor; default: () => number; }; manual: { type: BooleanConstructor; }; modelValue: { type: BooleanConstructor; }; offset: { default: () => number; }; effect: { type: StringConstructor; default: () => string; }; openDelay: { type: NumberConstructor; default: () => number; }; closeDelay: { type: NumberConstructor; default: () => number; }; placement: { type: StringConstructor; default: () => string; }; popper: {}; popperClass: { type: StringConstructor; }; popperOptions: { default: () => {}; }; pre: { type: BooleanConstructor; }; reference: {}; renderContent: { type: FunctionConstructor; }; tabindex: { type: NumberConstructor; default: () => number; }; transition: { type: StringConstructor; default: () => string; }; type: { type: StringConstructor; validator: (value: string) => boolean; }; visibleArrow: { type: BooleanConstructor; default: () => boolean; }; genArrowByHtml: { type: BooleanConstructor; default: () => boolean; }; zIndex: { type: StringConstructor; default: () => string; }; }; export type ITooltipProps = ExtractPropTypes; export interface ITooltipState { showPopper: boolean; popperElm: HTMLElement; referenceElm: HTMLElement; timeout: number; timeoutPending: number; focusing: boolean; expectedState: boolean; tooltipId: string; tabindex: number; xPlacement: string; showContent: boolean; tipsMaxWidth: string | number; } export interface ITooltipApi { state: ITooltipState; observer: MutationObserver; doDestroy: (forceDestroy?: boolean | undefined) => void; updatePopper: (popperElm?: HTMLElement | undefined) => void; show: ReturnType; hide: ReturnType; destroyed: ReturnType; bindPopper: ReturnType; watchFocusing: ReturnType; removeFocusing: ReturnType; handleBlur: ReturnType; handleFocus: ReturnType; debounceClose: ReturnType; setExpectedState: ReturnType; handleShowPopper: ReturnType; handleClosePopper: ReturnType; bindEvent: ReturnType; focusHandler: ReturnType; handleDocumentClick: ReturnType; observeCallback: ReturnType; } export type ITooltipRenderlessParams = ISharedRenderlessFunctionParams & { props: ITooltipProps; state: ITooltipState; api: ITooltipApi; popperVmRef: { popper: HTMLElement; }; };