import { CSSStyle } from './Props.types'; export type ComponentCategory = 'atoms' | 'layouts' | 'inputs' | 'molecules' | 'data' | 'organisms' | 'functionalities'; export type RenderMap = { /** */ name: string; /** */ category: ComponentCategory; /** */ web: (props: T, indent?: number) => CodeSample; /** */ css?: (props: T, indent?: number) => CodeSample<'css'>; /** */ vue?: (props: T, indent?: number) => CodeSample<'vue'>; /** */ react?: (props: T, indent?: number) => CodeSample<'react'>; /** */ slots: string[]; }; export type Component_Props> = { [Key in keyof T]: { boundVariables: {}; type: "VARIANT"; value: T[Key]; }; }; export type CodeProps_Slots = Omit & { [K in T]?: (K extends keyof P ? (any[] extends P[K] ? P[K] : P[K] | CodeSample) : string | CodeSample); } & { slotted?: { [K in T]?: boolean; }; style?: CSSStyle; }; export type CodeSample = (framework: T, indent?: number) => string; export type WebRenderLanguage = 'web' | 'angular' | 'react' | 'vue'; export type CSSRenderLanguage = 'css' | 'react_css' | 'vue_css'; export type RenderLanguage = CSSRenderLanguage | WebRenderLanguage;