import { ExtractPropTypes, Component } from 'vue'; import { constants } from './service'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from '../../../shared.type'; import { setText, close, handleAfterLeave } from './renderless'; export type { ISharedRenderlessParamHooks } from '../../../shared.type'; export declare const loadingProps: { type: { type: StringConstructor; validator: (value: string) => boolean; }; loadtext: { type: StringConstructor; default: () => string; }; _constants: { type: ObjectConstructor; default: () => { TEXT_ATTR: string; IS_FULLSCREEN_CLS: string; TEXT_SPINNER: string; TEXT_BACKGROUND: string; TEXT_CUSTOM_CLS: string; PARENT_HIDDEN_CLS: string; PARENT_RELATIVE_CLS: string; LOAD_ICON_TEXT: string; }; }; loadingImg: { type: StringConstructor; }; size: { type: StringConstructor; default: string; }; }; export interface ILoadingState { text: string | null; spinner: Component | null; visible: boolean; customClass: string; background: string | null; fullscreen: boolean; closed: boolean; size: string; body?: boolean; lock?: boolean; target?: HTMLElement | string; tiny_mode?: string; type?: string; } export type ILoadingProps = ExtractPropTypes; export type ILoadingConstants = typeof constants; export type ILoadingRenderlessParams = ISharedRenderlessFunctionParams & { state: ILoadingState; props: ILoadingProps; }; export interface ILoadingApi { state: ILoadingState; setText: ReturnType; handleAfterLeave: ReturnType; close: ReturnType; } export type ILoadingRenderlessParamUtils = ISharedRenderlessParamUtils;