window.d.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. declare interface Fn<T = any, R = T> {
  2. (...arg: T[]): R;
  3. }
  4. declare interface PromiseFn<T = any, R = T> {
  5. (...arg: T[]): Promise<R>;
  6. }
  7. declare interface IObj<T = any> {
  8. [key: string]: T;
  9. [key: number]: T;
  10. }
  11. declare function parseInt(s: string | number, radix?: number): number;
  12. declare function parseFloat(string: string | number): number;
  13. declare type Nullable<T> = T | null;
  14. declare type RefType<T> = T | null;
  15. declare type CustomizedHTMLElement<T> = HTMLElement & T;
  16. declare type Indexable<T extends any = any> = {
  17. [key: string]: T;
  18. };
  19. declare type Recordable<T extends any = any> = Record<string, T>;
  20. declare type ReadonlyRecordable<T extends any = any> = {
  21. readonly [key: string]: T;
  22. };
  23. declare type DeepPartial<T> = {
  24. [P in keyof T]?: DeepPartial<T[P]>;
  25. };
  26. declare type LabelValueOptions = {
  27. label: string;
  28. value: any;
  29. }[];
  30. declare type EmitType = (event: string, ...args: any[]) => void;
  31. declare type TargetContext = "_self" | "_blank";
  32. declare type TimeoutHandle = ReturnType<typeof setTimeout>;
  33. declare type IntervalHandle = ReturnType<typeof setInterval>;
  34. declare interface ComponentElRef<T extends HTMLElement = HTMLDivElement> {
  35. $el: T;
  36. }
  37. declare type ComponentRef<
  38. T extends HTMLElement = HTMLDivElement
  39. > = ComponentElRef<T> | null;
  40. declare type ElRef<T extends HTMLElement = HTMLDivElement> = Nullable<T>;
  41. type IsSame<A, B> = A | B extends A & B ? true : false;