import { type ChainId, type Favorites } from '@azuro-org/toolkit';
import { type UseQueryResult } from '@tanstack/react-query';
import { type Address } from 'viem';
import { type QueryParameterWithSelect } from '../../global';
export type UseUserFavoritesQueryFnData = Favorites;
export type UseUserFavoritesProps<TData = UseUserFavoritesQueryFnData> = {
    affiliate: Address;
    account?: Address;
    chainId?: ChainId;
    query?: QueryParameterWithSelect<UseUserFavoritesQueryFnData, TData>;
};
export type GetUseUserFavoritesQueryOptionsProps<TData = UseUserFavoritesQueryFnData> = UseUserFavoritesProps<TData> & {
    account: Address;
    chainId: ChainId;
};
export declare const getUseUserFavoritesQueryOptions: <TData = UseUserFavoritesQueryFnData>(params: GetUseUserFavoritesQueryOptionsProps<TData>) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<Favorites, Error, TData, readonly unknown[]>, "queryFn"> & {
    queryFn?: import("@tanstack/query-core").QueryFunction<Favorites, readonly unknown[], never> | undefined;
} & {
    queryKey: readonly unknown[] & {
        [dataTagSymbol]: Favorites;
        [dataTagErrorSymbol]: Error;
    };
};
export type UseUserFavorites = typeof useUserFavorites;
/**
 * Fetch the saved favorite countries and leagues for the authenticated user.
 *
 * Requires an `affiliate` address. The wallet `account` is resolved from
 * `useExtendedAccount` when not supplied explicitly. Query is disabled until
 * both `account` and `affiliate` are truthy.
 *
 * - Docs: https://gem.azuro.org/hub/apps/sdk/user/useUserFavorites
 *
 * @example
 * import { useUserFavorites } from '@azuro-org/sdk'
 *
 * const { data, isLoading, error } = useUserFavorites({
 *   affiliate: '0x...',
 * })
 *
 * // data.countries — FavoriteCountry[]
 * // data.leagues  — FavoriteLeague[]
 * */
export declare const useUserFavorites: <TData = UseUserFavoritesQueryFnData>(props: UseUserFavoritesProps<TData>) => UseQueryResult<TData>;
