export interface Simplified {
    version: string;
    dictDate: string;
    characters: KanjiData[];
}

interface Codepoint {
    type: string;
    value: string;
}

interface Radical {
    type: string;
    value: number;
}

interface Misc {
    grade: number;
    strokeCounts: number[];
    variants: any[];
    frequency: number;
    radicalNames: any[];
    jlptLevel: number;
}

interface Morohashi {
    volume?: number;
    page?: number;
}

interface DictionaryReference {
    type: string;
    morohashi: Morohashi | null;
    value: string;
}

interface QueryCode {
    type: string;
    skipMisclassification: any;
    value: string;
}

interface Reading {
    type: string;
    onType: any;
    status: any;
    value: string;
}

interface Meaning {
    lang: string;
    value: string;
}

interface Group {
    readings: Reading[];
    meanings: Meaning[];
}

interface ReadingMeaning {
    groups: Group[];
    nanori: string[];
}

interface KanjiData {
    literal: string;
    codepoints: Codepoint[];
    radicals: Radical[];
    misc: Misc;
    dictionaryReferences: DictionaryReference[];
    queryCodes: QueryCode[];
    readingMeaning: ReadingMeaning;
}
