/**
 * Client for the Euler Data API (V3) — https://v3.euler.finance/v3/docs
 *
 * Replaces the Goldsky `euler-v2-<chain>` subgraphs (which Euler is
 * deprecating, and which were observed running ~7 weeks behind chain head on
 * BSC, silently dropping freshly-opened sub-account positions).
 *
 * For sub-account discovery we hit `/accounts/{owner}/positions?forceFresh=true`,
 * which performs a live on-chain AccountLens read server-side (`source:
 * accountLensVaultInfo`) rather than serving indexed/cached data — so a
 * position opened seconds ago is visible.
 */
/**
 * Chains the Euler Data API serves (verified live via `/v3/evk/vaults` +
 * `/v3/accounts/.../positions`). Chains with an Euler deployment NOT covered
 * here (Optimism 10, Gnosis 100, Worldchain 480, Mantle 5000, Ink 57073) fall
 * back to an on-chain 256 sub-account scan in the build path.
 */
export declare const EULER_API_CHAINS: ReadonlySet<string>;
export declare const eulerApiSupportsChain: (chainId: string) => boolean;
interface EulerApiPosition {
    /** Sub-account address holding the position. */
    account: string;
    subAccount?: {
        owner?: string;
    };
}
/**
 * Fetches every position for `owner` across all of its sub-accounts on
 * `chainId`. With `forceFresh` the API does a live on-chain lens read.
 * Returns `undefined` when the chain is unsupported or the request fails —
 * callers distinguish this from "owner has no positions" (`[]`).
 */
export declare function fetchEulerPositionsFromApi(chainId: string, owner: string, forceFresh?: boolean): Promise<EulerApiPosition[] | undefined>;
export {};
//# sourceMappingURL=eulerDataApi.d.ts.map