interface BasicQueryParams {
    fields?: string;
    limit?: number;
}
interface TemtemQueryParams extends BasicQueryParams {
    names?: string;
    expand?: string;
    weaknesses?: boolean;
}
interface TemtemByIdQueryParams {
    fields?: string;
    expand?: string;
    weaknesses?: boolean;
}
interface TechniquesQueryParams extends BasicQueryParams {
    names?: string;
}
interface TraitsQueryParams extends BasicQueryParams {
    names?: string;
}
interface WeaknessCalculateParams {
    attacking: string;
    defending: string;
}
type TypesQueryParams = BasicQueryParams;
type ConditionsQueryParams = BasicQueryParams;
type TrainingCoursesQueryParams = BasicQueryParams;
type ItemsQueryParams = BasicQueryParams;
type GearQueryParams = BasicQueryParams;

declare class TemtemDex {
    private readonly baseUrl;
    constructor();
    private fetchAndParse;
    getTemtems(params?: TemtemQueryParams): Promise<any>;
    getTemtemById(id: number, params?: TemtemByIdQueryParams): Promise<any>;
    getFreetemByTemtemNameAndLevel(name: string, level: number): Promise<any>;
    getFreetemsRewards(): Promise<any>;
    getTypes(params?: TypesQueryParams): Promise<any>;
    getConditions(params?: ConditionsQueryParams): Promise<any>;
    getTechniques(params?: TechniquesQueryParams): Promise<any>;
    getTrainingCourses(params?: TrainingCoursesQueryParams): Promise<any>;
    getTraits(params?: TraitsQueryParams): Promise<any>;
    getItems(params?: ItemsQueryParams): Promise<any>;
    getGear(params?: GearQueryParams): Promise<any>;
    getQuests(params?: BasicQueryParams): Promise<any>;
    getDojos(): Promise<any>;
    getCharacters(params?: BasicQueryParams): Promise<any>;
    getSaipark(params?: BasicQueryParams): Promise<any>;
    getLocations(params?: BasicQueryParams): Promise<any>;
    getCosmetics(params?: BasicQueryParams): Promise<any>;
    getDyes(params?: BasicQueryParams): Promise<any>;
    getPatches(params?: BasicQueryParams): Promise<any>;
    getWeaknesses(): Promise<any>;
    calculateWeaknesses(params: WeaknessCalculateParams): Promise<any>;
    getBreeding(): Promise<any>;
}
declare const TemtemApi: typeof TemtemDex;

export { type BasicQueryParams, type ConditionsQueryParams, type GearQueryParams, type ItemsQueryParams, type TechniquesQueryParams, TemtemApi, type TemtemByIdQueryParams, TemtemDex, type TemtemQueryParams, type TrainingCoursesQueryParams, type TraitsQueryParams, type TypesQueryParams, type WeaknessCalculateParams };
