import { ComputedRef, ExtractPropTypes } from 'vue'; import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from '../../../shared.type'; import { clearTimer, handleClick } from './renderless'; export type { ISharedRenderlessParamHooks } from '../../../shared.type'; export declare const buttonProps: { type: { type: StringConstructor; default: string; }; tabindex: { type: StringConstructor; default: string; }; icon: { type: (StringConstructor | ObjectConstructor)[]; default: string; }; text: { type: StringConstructor; default: string; }; resetTime: { type: (NumberConstructor | StringConstructor)[]; default: number; }; nativeType: { type: StringConstructor; default: string; }; href: { type: StringConstructor; default: string; }; size: { type: StringConstructor; default: string; validator(val: string): boolean; }; round: BooleanConstructor; plain: BooleanConstructor; circle: BooleanConstructor; loading: BooleanConstructor; disabled: BooleanConstructor; autofocus: BooleanConstructor; customClass: { type: StringConstructor; default: string; }; banner: { type: BooleanConstructor; default: boolean; }; ghost: BooleanConstructor; }; export interface IButtonState { timer: number; disabled: boolean; plain: ComputedRef; formDisabled: ComputedRef; buttonDisabled: ComputedRef; } export type IButtonRenderlessParams = ISharedRenderlessFunctionParams & { state: IButtonState; props: IButtonProps; }; export type IButtonProps = ExtractPropTypes; export interface IButtonApi { state: IButtonState; clearTimer: ReturnType; handleClick: ReturnType; } export type IButtonRenderlessParamUtils = ISharedRenderlessParamUtils;