AppbrewDevelopers
ReferencePackages

@gauntlet/types

The core type contracts, starting with BaseBlockProps.

@gauntlet/types is pure types: the contracts your code implements against. Every block, config shape, and product structure in the platform is typed here.

BaseBlockProps

The contract every block component receives (Screens and blocks):

import { BaseBlockProps } from '@gauntlet/types'

export interface BaseBlockProps {
  componentId: string
  instanceId: string
  screenId: string
  setDynamicFooter?: (element: ReactElement) => void
  index: number
  length: number
}

Extend it for your own block's props:

export interface PromoBannerProps extends BaseBlockProps {}

Contract modules you will use

ImportWhat it types
BaseBlockProps, BaseComponentPropsBlock component contracts and the style/source/options shapes
AppConfig, IntegrationsConfigThe app config document and the integrations.<configKey> map
BaseProduct, BaseProductVariantProduct and variant data as hooks return them
Theme and style typesTheme tokens plus zod style schemas (baseStyleSchema, baseTextStyleSchema, …)
AnalyticsEvent, AnalyticsPayloadEvent names and payloads trackers receive (Analytics trackers)

Everything is exported from the package root:

import { AppConfig, BaseProduct, AnalyticsEvent } from '@gauntlet/types'

On this page