import type { CSSProperties, Plugin } from 'vue'; declare type OptionalKeys> = { [K in keyof T]: T extends Record ? never : K; }[keyof T]; declare type RequiredKeys> = Exclude>; declare type MonoArgEmitter = (evt: K, arg?: T[K]) => void; declare type BiArgEmitter = (evt: K, arg: T[K]) => void; export declare type EventEmitter> = MonoArgEmitter> & BiArgEmitter>; export declare type AnyFunction = (...args: any[]) => T; export declare type PartialReturnType unknown> = Partial>; export declare type SFCWithInstall = T & Plugin; export declare type Nullable = T | null; export declare type Arrayable = T | T[]; export declare type RefElement = Nullable; export declare type CustomizedHTMLElement = HTMLElement & T; export declare type Indexable = { [key: string]: T; }; export declare type Hash = Indexable; export declare type TimeoutHandle = number; export declare type StyleValue = string | CSSProperties | Array; export declare type Mutable = { -readonly [P in keyof T]: T[P]; }; export declare type ClassObjectType = Record; export declare type ClassType = string | ClassObjectType | ClassType[]; export {};