import { APIResource } from "../core/resource.js";
import { APIPromise } from "../core/api-promise.js";
import { RequestOptions } from "../internal/request-options.js";
export declare class Stats extends APIResource {
    /**
     * Get a list of StatIDs
     */
    get(query?: StatGetParams | null | undefined, options?: RequestOptions): APIPromise<StatGetResponse>;
}
export interface Stat {
    description?: string;
    displays?: Stat.Displays;
    isScoreStat?: boolean;
    statID?: string;
    supportedLevels?: Stat.SupportedLevels;
    supportedSports?: {
        [key: string]: unknown;
    };
    units?: Stat.Units;
}
export declare namespace Stat {
    interface Displays {
        long?: string;
        short?: string;
    }
    interface SupportedLevels {
        all?: boolean;
        player?: boolean;
        team?: boolean;
    }
    interface Units {
        long?: Units.Long;
        short?: Units.Short;
    }
    namespace Units {
        interface Long {
            plural?: string;
            singular?: string;
        }
        interface Short {
            plural?: string;
            singular?: string;
        }
    }
}
export type StatGetResponse = Array<Stat>;
export interface StatGetParams {
    /**
     * SportID to get StatIDs for
     */
    sportID?: string;
    /**
     * StatID to get data for
     */
    statID?: string;
    /**
     * Level of the stat, must be used in combination with sportID. Must be one of all,
     * player, or team. Shows stats that are applicable to that specified entity,
     * defaults to all.
     */
    statLevel?: string;
}
export declare namespace Stats {
    export { type Stat as Stat, type StatGetResponse as StatGetResponse, type StatGetParams as StatGetParams };
}
//# sourceMappingURL=stats.d.ts.map