import { Gender } from '../enums/Gender';
import { PoetryType } from '../enums/PoetryType';
/**
 * 读取本地数据
 * @param name
 */
export declare function readLocalData(name: string): string[];
export declare function readLocalJsonData(name: string): string[];
declare enum StorageType {
    JSON = "json",
    TEXT = "text",
    DAT = "dat"
}
export declare const PoetCounter: Record<PoetryType.SONG_SHI | PoetryType.SONG_CI | PoetryType.TANG_SHI, number>;
export declare const DatabaseStorages: Record<PoetryType, {
    type: StorageType;
    locate: string;
}>;
interface GetJsonDataParams<T> {
    /**
     * json 文件路径
     */
    locate: string;
    /**
     * 获取诗句内容
     * @param item
     */
    getSentences: (item: T) => string[];
    /**
     * 获取诗句来源
     * @param item
     */
    getTitle: (item: T) => string;
    /**
     * 回调函数
     * @param sentence 单条 sentence
     * @param title 标题
     */
    callback: (sentence: string, title: string) => void | boolean;
}
export interface AINameData {
    name: string;
    gender: Gender;
}
export declare class Database {
    /**
     * 拆字字典
     */
    static splitDirectory: Record<string, string[]>;
    /**
     * 名字字典
     */
    static namesDirectory: Record<string, Gender>;
    /**
     * 笔画字典
     */
    static strokeDirectory: Record<string, number>;
    /**
     * ai名字字典
     */
    static aiNames: AINameData[];
    static getJsonData<T>({ locate, getSentences, getTitle, callback }: GetJsonDataParams<T>): void;
    private static generateStrokeDirectory;
    private static generateCharSplitDirectory;
    private static generateNamesDirectory;
    private static generateAINamesDirectory;
}
export {};
