import { Identifier, ObjectLiteralExpression, StringLiteral, PropertyAssignment, NumericLiteral } from 'typescript'; import { StudioTemplateRenderer, StudioTheme, StudioThemeValues, StudioThemeValue } from '@aws-amplify/codegen-ui'; import { ReactRenderConfig } from './react-render-config'; import { ImportCollection } from './imports'; import { ReactOutputManager } from './react-output-manager'; import { defaultRenderConfig } from './react-studio-template-renderer-helper'; export declare type ReactThemeStudioTemplateRendererOptions = { renderDefaultTheme?: boolean; }; export declare function buildThemePropertyName(key: string): Identifier | StringLiteral; export declare class ReactThemeStudioTemplateRenderer extends StudioTemplateRenderer Promise; }> { protected importCollection: ImportCollection; protected renderConfig: ReactRenderConfig & typeof defaultRenderConfig; protected options: ReactThemeStudioTemplateRendererOptions | undefined; fileName: string; constructor(theme: StudioTheme, renderConfig: ReactRenderConfig, options?: ReactThemeStudioTemplateRendererOptions); renderComponentInternal(): { componentText: string; declaration: string | undefined; renderComponentToFilesystem: (outputPath: string) => Promise; }; /** * Exposing an additional method to allow rendering the theme json object * from the API response type. */ renderThemeJson(): string; private buildImports; private buildTheme; private buildThemeObject; splitAndBuildThemeValues(values: StudioThemeValues[]): PropertyAssignment[]; private buildThemeValues; private buildThemeValue; buildThemeBreakpointValues(values: StudioThemeValues[]): PropertyAssignment[]; buildThemeBreakpointValue(themeValue: StudioThemeValue): ObjectLiteralExpression | StringLiteral | NumericLiteral; private buildThemeOverrides; validateSchema(theme: StudioTheme): void; }