import React from 'react'; 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; }; type IllustrationConfigShape = Record< IllustrationNamesMap[Variant], number >; export type IllustrationA11yProps = { /** Alt tag to apply to the img * @default "" will identify the image as decorative */ alt?: string; }; export type IllustrationBasePropsWithA11y = IllustrationBaseProps & IllustrationA11yProps; export declare function createIllustration( variant: Variant, config: IllustrationConfigShape, ): React.NamedExoticComponent>; export {}; //# sourceMappingURL=createIllustration.d.ts.map