import React from 'react'; import type { AccessibilityProps } from 'react-native'; import type { IllustrationVariant } from '@coinbase/cds-common/types/IllustrationNames'; import type { HeroSquareDimension, PictogramDimension, SpotIconDimension, SpotRectangleDimension, SpotSquareDimension, } from '@coinbase/cds-common/types/IllustrationProps'; import type { SharedProps } from '@coinbase/cds-common/types/SharedProps'; import type { HeroSquareName, PictogramName, SpotIconName, SpotRectangleName, SpotSquareName, } from '@coinbase/cds-illustrations'; export type IllustrationNamesMap = { heroSquare: HeroSquareName; spotRectangle: SpotRectangleName; pictogram: PictogramName; spotSquare: SpotSquareName; spotIcon: SpotIconName; }; export type IllustrationDimensionsMap = { heroSquare: HeroSquareDimension; spotSquare: SpotSquareDimension; spotRectangle: SpotRectangleDimension; pictogram: PictogramDimension; spotIcon: SpotIconDimension; }; export type IllustrationBaseProps = SharedProps & { /** Name of illustration as defined in Figma */ name: IllustrationNamesMap[T]; /** * HeroSquare Default: 240x240 * SpotSquare Default: 96x96 * Pictogram Default: 48x48 * SpotRectangle Default: 240x120 * */ dimension?: IllustrationDimensionsMap[T]; /** Multiply the width & height while maintaining aspect ratio */ scaleMultiplier?: number; /** * Fallback element to render if unable to find an illustration with the matching name * @default null * */ fallback?: null | React.ReactElement; /** Apply the theme to the illustration */ applyTheme?: boolean; }; type IllustrationConfigShape = Record< string, { light: () => string; dark: () => string; themeable?: () => string; } >; export type IllustrationA11yProps = Pick< AccessibilityProps, 'accessibilityLabel' | 'accessibilityHint' >; export type IllustrationBasePropsWithA11y = IllustrationBaseProps & IllustrationA11yProps; export declare function createIllustration< Variant extends IllustrationVariant, Config extends IllustrationConfigShape, >( variant: Variant, config: Config, ): React.NamedExoticComponent>; export {}; //# sourceMappingURL=createIllustration.d.ts.map