global.d.ts 1.24 KB
declare global {
  type Nullable<T> = T | null

  type Undefineable<T> = T | undefined

  type Recordable<T = any> = Record<string, T>

  type NullableOrUndefineable<T> = null | undefined | T

  interface Fn<T = any, R = T> {
    (...arg: T[]): R
  }

  interface Window {
    PROJECT_ENV: {
      mode: 'development' | 'production'
      base?: string
      shortName?: string
    }

    CustomEventType: {
      OPEN_DATA_SOURCE_BIND_PANEL: 'openDataSourceBindPanel'
    }

    RootEl: {
      DATA_SOURCE_BIND_PANEL: 'dataSourcePanel'
    }

    bootstrap: Function

    App: {
      main: Function
    }

    /**
     * @enum {string} cell 数据key 枚举
     */
    CellAttributeKeyEnum: {
      COMPONENT_KEY: 'componentKey'
      CATEGORY: 'category'
      SHAPE_KEY: 'shapeKey'
    }

    DrawApp: import('@/fitCore/types').DrawApp

    VueInstanceMap: Record<string, import('vue').App>

    useContentData: Fn<[], { doGetConfigurationContent: Fn<[], Promise<ConfigurationContentType>> }>

    useParseParams: Fn

    useEncodeParams: Fn

    switchLightboxMode: Fn

    getPlatformInfo: Fn<[], import('./store').PlatformInfo>

    setPlatformInfo: Fn

    usePlatform: Fn

    useLightboxModeService: Fn

    useProduct: Fn

    useAuth: Fn
  }
}

export { }