import { type ChainId, type GameData } from '@azuro-org/toolkit';
import { type UseQueryResult } from '@tanstack/react-query';
import { type QueryParameterWithSelect } from '../../global';
export type UseGameQueryFnData = GameData | null;
export type UseGameProps<TData = UseGameQueryFnData> = {
    gameId: string;
    chainId?: ChainId;
    query?: QueryParameterWithSelect<UseGameQueryFnData, TData>;
};
export type UseGame = <TData = UseGameQueryFnData>(props: UseGameProps<TData>) => UseQueryResult<TData>;
export type GetUseGameQueryOptionsProps<TData = UseGameQueryFnData> = UseGameProps<TData> & {
    chainId: ChainId;
};
export declare const getUseGameQueryOptions: <TData = UseGameQueryFnData>(props: GetUseGameQueryOptionsProps<TData>) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<GameData | null, Error, TData, readonly unknown[]>, "queryFn"> & {
    queryFn?: import("@tanstack/query-core").QueryFunction<GameData | null, readonly unknown[], never> | undefined;
} & {
    queryKey: readonly unknown[] & {
        [dataTagSymbol]: GameData | null;
        [dataTagErrorSymbol]: Error;
    };
};
/**
 * Use it to fetch a specific game by gameId parameter.
 *
 * - Docs: https://gem.azuro.org/hub/apps/sdk/data-hooks/useGame
 *
 * @example
 * import { useGame } from '@azuro-org/sdk'
 *
 * // e.g., game page your-app-url/polygon/football/.../{gameId}
 * const { gameId } = useParams<{ gameId: string }>()
 * const { data, isLoading, error } = useGame({ gameId })
 * */
export declare const useGame: <TData = UseGameQueryFnData>(props: UseGameProps<TData>) => UseQueryResult<TData>;
