import { IconType } from 'practical-react-components-core' ; export interface Component { readonly name : string ; readonly route : string ; readonly menu : string ; readonly icon ? : IconType ; readonly component : React . FC ; } export type Components = ReadonlyArray < Component > ; export interface StringIndexedObject < T > { readonly [ key ] : T ; } export interface ComponentDoc { readonly displayName : string ; readonly description : string ; readonly props : Props ; } export interface Props extends StringIndexedObject < PropItem > { } export interface PropItem { readonly name : string ; readonly required : boolean ; readonly type : PropItemType ; readonly description : string ; readonly defaultValue : any ; } export interface PropItemType { readonly name : string ; readonly value ? : any ; readonly raw ? : string ; }