export type DocDemoSchema = { type: 'boolean'; default?: boolean; label?: string; disabled?: boolean; } | { type: 'list'; list: Array | Readonly>; default?: string | number; label?: string; disabled?: boolean; } | { type: 'string'; default?: string; label?: string; disabled?: boolean; } | { type: 'textarea'; default?: string; label?: string; row?: number; disabled?: boolean; } | { type: 'number'; step?: number; min?: number; max?: number; default?: number; label?: string; disabled?: boolean; } | { type: 'radio'; default?: string | number; list: Array; disabled?: boolean; }; export type DocDemoState = T extends Record ? { [key in keyof T]: T[key] extends { type: 'list'; list: Array; label?: string; } ? U : T[key] extends { type: 'radio'; list: Array; label?: string; } ? U : T[key] extends { type: 'boolean'; label?: string; } ? boolean : T[key] extends { type: 'number'; label?: string; } ? number : T[key] extends { type: 'string'; label?: string; } ? string : never; } : T; export type DocDemoTemplate = ((props: DocDemoState) => string) | string; export type DocDemoStyle = string;