import { ComponentType, HTMLAttributes } from 'react';
import { EIssueType, EIssueConsequence } from '../enum';
export interface IIssue {
    title: string;
    code: string | JSX.Element;
    type: EIssueType;
    error?: string | string[];
    consequences: EIssueConsequence[];
}
export interface IFixing {
    propName: string;
    codeOld: string;
    codeNew: string;
    issues: IIssue[];
}
export interface ITestingProps<C extends ComponentType<any>> {
    component: C;
}
export interface IComponentTesterProps<C extends ComponentType<any>> extends HTMLAttributes<HTMLDivElement> {
    componentName: string;
    component: C;
    componentFusion: ComponentType<any>;
    componentTesting: ComponentType<ITestingProps<C>>;
    fixings?: IFixing[];
}
export interface IDemoDataRegion {
    id: string;
    name: string;
}
export interface IDemoDataAlbum {
    title: string;
    artist: string;
    year: number;
    tracks: string[];
}
