interface PlayerSummary {
    steamid: string;
    communityvisibilitystate: number;
    profilestate: number;
    personaname: string;
    profileurl: string;
    avatar: string;
    avatarmedium: string;
    avatarfull: string;
    avatarhash: string;
    lastlogoff: number;
    personastate: number;
    primaryclanid: string;
    timecreated: number;
    personastateflags: number;
    gameextrainfo?: string;
    gameid?: string;
    loccountrycode: string;
    locstatecode: string;
    loccityid: number;
}
interface PlayerSummaryResponse {
    response: {
        players: PlayerSummary[];
    };
}
interface GmaeDetailResponse {
    [gameid: string]: {
        success: boolean;
        data: {
            name: string;
            header_image: string;
            capsule_image: string;
            capsule_imagev5: string;
            website: string;
            background: string;
            background_raw: string;
        };
    };
}
interface UserPlayingGameResponse {
    playing: boolean;
    game?: {
        id: string;
        name: string;
        header_image: string;
        background: string;
        background_raw: string;
    };
}

declare function useRequest(key: string): {
    getPlayerSummary: (steamid: string) => Promise<PlayerSummary | null>;
    getGameDetail: typeof getGameDetail;
};
declare function getGameDetail(gameid: string): Promise<GmaeDetailResponse[string]>;

declare function getUserPlayingGame(key: string, steamid: string): Promise<UserPlayingGameResponse>;

export { type GmaeDetailResponse, type PlayerSummaryResponse, type UserPlayingGameResponse, getUserPlayingGame, useRequest as useSteamApi };
