export type ComparisonType = 'school' | 'schoolYear';
export declare enum ComparatorTabValue {
    KNOWLEDGE_AREAS = "knowledge-areas",
    CURRICULAR_COMPONENTS = "curricular-components",
    COMPETENCIES = "competencies",
    NATIONAL_AVERAGES = "national-averages"
}
export type ComparatorTabType = `${ComparatorTabValue}`;
export interface ComparisonItem {
    id: string;
    name: string;
    color: string;
}
export interface KnowledgeAreaData {
    area: string;
    values: {
        itemId: string;
        percentage: number;
    }[];
}
export interface CurricularComponentData {
    component: string;
    values: {
        itemId: string;
        percentage: number;
    }[];
}
export interface CompetencyData {
    competency: string;
    values: {
        itemId: string;
        percentage: number;
    }[];
}
export interface NationalAverageData {
    itemId: string;
    itemName: string;
    simulatedProficiency: number;
    publicAverage: number;
    privateAverage: number;
    details: {
        languages: number;
        humanities: number;
        essay: number;
        naturalSciences: number;
        mathematics: number;
    };
    status: 'above' | 'below';
}
export interface ComparatorData {
    knowledgeAreas: KnowledgeAreaData[];
    curricularComponents: CurricularComponentData[];
    competencies: CompetencyData[];
    nationalAverages: NationalAverageData[];
}
export interface AreaPerformance {
    id: string;
    name: string;
    icon: string | null;
    color: string | null;
    percentage: number;
    questionsTotal: number;
    questionsCorrect: number;
}
export interface KnowledgeAreasApiItem {
    itemId: string;
    itemName: string;
    areas: AreaPerformance[];
}
export interface CurricularComponentsApiItem {
    itemId: string;
    itemName: string;
    subjects: AreaPerformance[];
}
export interface CompetencyPerformance {
    competencyNumber: number;
    name: string;
    averageScore: number;
    averagePercentage: number;
    essaysCount: number;
    studentsCount: number;
}
export interface CompetenciesApiItem {
    itemId: string;
    itemName: string;
    competencies: CompetencyPerformance[];
    totalEssays: number;
    totalStudents: number;
}
export interface NationalAverageAreaPerformance {
    id: string;
    name: string;
    triScore: number;
    questionsTotal: number;
    questionsCorrect: number;
}
export interface NationalAveragesApiItem {
    itemId: string;
    itemName: string;
    overallTriScore: number;
    areas: NationalAverageAreaPerformance[];
    publicSchoolAverage: number;
    privateSchoolAverage: number;
    status: 'above' | 'below';
}
export interface ComparatorApiClient {
    post: <T>(url: string, data: unknown) => Promise<{
        data: {
            data: T;
        };
    }>;
}
export interface ComparatorStoreState {
    comparisonType: ComparisonType | null;
    selectedItems: ComparisonItem[];
    setComparisonType: (type: ComparisonType | null) => void;
    setSelectedItems: (items: ComparisonItem[]) => void;
    addItem: (item: ComparisonItem) => void;
    removeItem: (itemId: string) => void;
    clearSelection: () => void;
}
export interface UseComparatorReturn {
    data: ComparatorData;
    loading: boolean;
    error: string | null;
    fetchData: (ids: string[], type: ComparisonType, tab: ComparatorTabType) => Promise<void>;
}
export interface ComparatorLabels {
    title: string;
    selectComparison: string;
    selectSchools: string;
    selectSchoolYears: string;
    schools: string;
    schoolYears: string;
    school: string;
    schoolYear: string;
    compareSchoolsDescription: string;
    compareSchoolYearsDescription: string;
    selectComparisonType: string;
    noAccessMessage: string;
    emptyStateDescriptionBoth: string;
    emptyStateDescriptionSchools: string;
    emptyStateDescriptionSchoolYears: string;
    selectItemInstruction: string;
    search: string;
    maxLimitWarning: string;
    confirm: string;
    back: string;
    filters: string;
    knowledgeAreasTitle: string;
    curricularComponentsTitle: string;
    competenciesTitle: string;
    nationalAveragesTitle: string;
    simulatedProficiency: string;
    publicSchoolAverage: string;
    privateSchoolAverage: string;
    aboveAverage: string;
    belowAverage: string;
    ofSelected: string;
}
export declare const DEFAULT_COMPARATOR_LABELS: ComparatorLabels;
export interface ComparatorTab {
    value: ComparatorTabType;
    label: string;
}
export declare const DEFAULT_COMPARATOR_TABS: ComparatorTab[];
export declare const COMPARATOR_CHART_COLORS: string[];
//# sourceMappingURL=comparator.d.ts.map