/**
 * Upshift public vault listing.
 *
 * A single un-paginated REST endpoint returns every Upshift vault across
 * all chains (EVM and non-EVM) in one response. We fetch it once and
 * filter to the requested EVM chain in `fetchPublic`. Pricing and yield
 * come straight from the API, so the public-data fetch needs no multicall
 * and no archival RPC.
 *
 * Endpoint (no auth):
 *   https://app.upshift.finance/api/proxy/vaults
 */
export declare const UPSHIFT_VAULTS_URL = "https://app.upshift.finance/api/proxy/vaults";
/**
 * EVM chains where Upshift has visible vaults. Numeric chain ids as
 * strings. The endpoint is global (returns every chain regardless), so
 * this set only short-circuits the round-trip on chains Upshift doesn't
 * cover. Extend as Upshift deploys to more chains — the parser is
 * chain-agnostic.
 */
export declare const UPSHIFT_CHAIN_IDS: Set<string>;
export declare const hasUpshiftVaults: (chainId: string) => boolean;
/** A `depositAssets[]` entry — an accepted underlying token. */
export interface UpshiftApiAsset {
    address: string | null;
    symbol: string | null;
    decimals: number | null;
}
/** Shape of a single `data[]` entry in the API response. */
export interface UpshiftApiVault {
    chainId: number | null;
    address: string | null;
    name: string | null;
    decimals: number | null;
    status: string | null;
    isVisible: boolean | null;
    isDepositPaused: boolean | null;
    isWithdrawalPaused: boolean | null;
    apy: {
        apy: number | null;
        campaignApy: number | null;
        pointsApy: number | null;
        underlyingApy: number | null;
    } | null;
    depositAssets: (UpshiftApiAsset | null)[] | null;
    totalAssets: {
        normalized: string | null;
        raw: string | null;
    } | null;
    totalSupply: {
        normalized: string | null;
        raw: string | null;
    } | null;
    receipt: {
        symbol: string | null;
        address: string | null;
        decimals: number | null;
    } | null;
    latest_reported_tvl: number | null;
}
/**
 * Fetch the global Upshift vault listing. Returns the raw `data[]` array;
 * chain filtering and normalization to `UpshiftVault` happen in
 * `fetchPublic`.
 */
export declare function fetchUpshiftApiVaults(): Promise<UpshiftApiVault[]>;
//# sourceMappingURL=api.d.ts.map