PronounsPage/plugins/data.d.ts

65 lines
1.5 KiB
TypeScript

import type { Config } from '../locale/config.ts';
import type { Translations } from '../locale/translations.ts';
export interface PronounsData<M extends string[]> {
key: string;
description: string;
normative: string;
[morpheme: M]: string | null;
plural: string;
pluralHonorific: string;
pronounceable: string;
history?: string;
thirdForm?: M;
smallForm?: M;
sourcesInfo?: string;
hidden?: boolean;
}
export interface PronounExamplesData {
singular: string;
plural?: string;
isHonorific?: boolean;
}
export interface NounTemplatesData {
masc: string;
fem: string;
neutr: string;
mascPl: string;
femPl: string;
neutrPl: string;
}
declare namespace Data {
declare module '*/config.suml' {
declare const config: Config;
export default config;
}
declare module '*/translations.suml' {
declare const translations: Translations;
export default translations;
}
declare module '*/pronouns/pronouns.tsv' {
declare const data: PronounsData[];
export default data;
}
declare module '*/pronouns/examples.tsv' {
declare const data: PronounExamplesData[];
export default data;
}
declare module '*/nouns/nounTemplates.tsv' {
declare const data: NounTemplatesData[];
export default data;
}
declare module '*.tsv' {
declare const data: Record<string, any>[];
export default data;
}
}