import { App } from 'vue'; declare class MiTools { /** * 创建 meta 标签 ( Create meta element ). * @param name * @param content */ createMeta(name: string, content: string): void; /** * 设置标题. * @param title */ setTitle(title?: string): void; /** * 设置关键词. * @param keywords * @param overwritten */ setKeywords(keywords?: string | string[], overwritten?: boolean): void; /** * 设置描述. * @param desc * @param overwritten */ setDescription(desc?: string, overwritten?: boolean): void; /** * 是否为移动端. * 注: iPad Safari 获取的 ua 与 Mac Safari 一致, 需独立判断. * @returns */ isMobile(): boolean; /** * Format string content. * @param str * @param formatter */ formatEmpty(str?: string, formatter?: string): string | undefined; /** * Whether the string content is empty. * @param str * @param format */ isEmpty(str: any, format?: boolean): boolean | string; /** * Whether the `element / params` is valid. * @param value */ isValid(value: any): boolean; /** * Whether it is a number. * @param number */ isNumber(number: any): boolean; /** * Check the validity of the email. * @param email * @returns {boolean} */ checkEmail(email: string): boolean; /** * Check Password by rules. * @param password */ checkPassword(password: string): boolean; /** * Get the password strength. * return a number level ( 1 - 4 ). * @param password */ getPasswordStrength(password: string): number; /** * random. * @returns {string} */ random(): string; /** * Generate a random number within the specified range. * @param start * @param end * @returns {number} */ randomNumberInRange(start: number, end: number): number; /** * Generate unique string. * @param upper * @returns {string} */ uid(upper?: boolean, prefix?: string): string; /** * replace url parameters. * @param url * @param params * @returns */ replaceUrlParams(url: string, params?: { [index: string]: any; }): string; /** * Unit conversion. * @param value * @param base */ px2Rem(value: number | undefined, base?: number): number | undefined; /** * 转成rem. * @param num * @returns */ convert2Rem(num: any): any; /** * convert color. * @param color * @param opacity */ colorHex2Rgba(color: string | undefined, opacity?: number): string | undefined; /** * convert color. * @param color */ colorRgb2Hex(color: string | undefined): string | undefined; /** * requestAnimationFrame. * @param callback * @returns */ raf(callback: FrameRequestCallback): number; /** * cancelAnimationFrame. * @param rid */ caf(rid: number): void; /** * Gets the actual height of the element from the top of the document. * @param el * @param pos * @returns */ getElementActualTopOrLeft(el: HTMLElement, pos?: string): number; /** * scroll to top ( animation ). * @param el * @param from * @param to * @param duration * @param endCallback */ scrollTop(el: any, from: number | undefined, to: number, duration?: number, endCallback?: Function): void; /** * back to top. * @param offset * @param duration */ back2top(offset?: number, duration?: number): void; /** * add event listener. * @param el * @param event * @param listener * @param useCapture */ on(el: Window | HTMLElement, event: keyof HTMLElementEventMap, listener: (this: HTMLElement, evt: HTMLElementEventMap[keyof HTMLElementEventMap]) => any, useCapture?: false): void; /** * remove event listener. * @param el * @param event * @param listener * @param useCapture */ off(el: Window | HTMLElement, event: keyof HTMLElementEventMap, listener: (this: HTMLElement, evt: HTMLElementEventMap[keyof HTMLElementEventMap]) => any, useCapture?: false): void; /** * transfer. * @param html * @returns */ htmlEncode(html: string): string; } export declare const $tools: MiTools; declare const _default: { install(app: App): App; }; export default _default;