import { Language } from './Language';
import { OptionFields } from './OptionsFields';
export declare abstract class AnimesGeneric<C, I, O, T> {
    protected readonly _lang: Language;
    protected readonly _tags: T;
    protected readonly _baseUrl: string;
    protected readonly _defaultOption: OptionFields<O>;
    protected readonly _all_characters: C[];
    protected _character: string | C;
    protected _document: Document;
    constructor(_lang: Language, _tags: T, _baseUrl: string, _defaultOption: OptionFields<O>, _all_characters: C[], _character?: string | C, _document?: Document);
    getListCharacters(search?: string): C[];
    getCharacter(name: C, option?: OptionFields<O>): Promise<I>;
    protected abstract _toJson(keys: O[]): Promise<I>;
}
