import type { IAddress, IContractRunner, ISubgraphReserveDeposit, ISubgraphTransfer, ISubgraphUserHistoryItem, ISubgraphWithdrawProccessed, ISubgraphWithdrawRequest } from '../../types'; export declare function isOldSubgraphSchema(vaultSymbol: string): boolean; /** * * @param pool * @param provider * @returns */ export declare function getSubgraphWithdrawRequests(pool: IAddress, provider: IContractRunner, slackWebookUrl?: string): Promise; export declare function getSubgraphWithdrawProccessed(pool: IAddress, provider: IContractRunner, slackWebookUrl?: string): Promise; /** * * @param pool * @param provider * @returns */ export declare function getSubgraphAllWithdrawals(pool: IAddress, provider: IContractRunner, slackWebookUrl?: string): Promise<{ withdrawalRequesteds: ISubgraphWithdrawRequest[]; withdrawalProcesseds: ISubgraphWithdrawProccessed[]; }>; export declare function getSubgraphUserHistory(user: IAddress, provider: IContractRunner, pool: IAddress, slackWebookUrl?: string): Promise; export declare function getSubgraphVaultHistory(provider: IContractRunner, pool: IAddress, slackWebookUrl?: string, opts?: { sinceTs?: number; }): Promise; /** * Every transfer of the vault's share token into or out of `user`, oldest * first. Transfers to or from the reward distributors are excluded. * * @param user - Wallet address. * @param provider - EVM provider for the vault's chain. * @param pool - Vault address. * @param slackWebookUrl - Where a missing-subgraph alert is posted. * @param options - `receiptSubgraph: true` reads the vault's receipt-token * subgraph when the registry has one: evm-2 shares are a separate receipt * token, which the base subgraph does not index. Falls back to the base * subgraph, which indexes the shares of vaults that are their own token. * @returns The transfers, or `[]` when the subgraph is missing or the query * fails. */ export declare function getSubgraphUserTransfers(user: IAddress, provider: IContractRunner, pool: IAddress, slackWebookUrl?: string, options?: { receiptSubgraph?: boolean; }): Promise; /** * Fetch the `ReserveDeposit` events that minted vault shares to `user`. * * Some vaults mint shares without an ERC-4626 `Deposit` event: High Growth ETH * emits `ReserveDeposit(account, shares, assets)` for deposits made through * Kelp's gain adapter, so {@link getSubgraphUserHistory} never sees them. Its * subgraph indexes the event as `reserveDeposits`. * * Side effects: one `getVaultSymbol` RPC read (cached), the vault metadata and * schema probes (cached), and one subgraph query. * * @param user - The wallet the shares were minted to. * @param provider - Contract runner for the vault's chain. * @param pool - The vault contract address. * @returns Up to 1000 events, oldest first. Empty when the vault's subgraph * has no `reserveDeposits` entity, has no URL, or the query fails. * @example * ```ts * const reserveDeposits = await getSubgraphUserReserveDeposits(wallet, provider, vault); * ``` */ export declare function getSubgraphUserReserveDeposits(user: IAddress, provider: IContractRunner, pool: IAddress): Promise;