import { Address, Hex } from "viem"; import { Filters, SnapshotConfig, SubgraphConfigs } from "../loaders"; import { Module } from "../modules"; import { PointsState } from "./state"; export default class PointsClient { readonly initialState: PointsState; readonly modules: Module[]; readonly state: PointsState; static loadFullFromSubgraph(subgraphs: SubgraphConfigs, block: number, modules?: Module[]): Promise; static getTimeframeFromSubgraph({ subgraphs, from, to, filters, modules, }: { subgraphs: SubgraphConfigs; from?: SnapshotConfig; to: SnapshotConfig; filters: Filters; modules: Module[]; }): Promise; constructor(initialState: PointsState, modules?: Module[]); getTotalMarketPoints(hexId: Hex): { id: `0x${string}`; totalBorrowPoints: bigint; totalCollateralPoints: bigint; totalSupplyPoints: bigint; }; getAllUserMarketsPoints(user: Address): { user: `0x${string}`; borrowPoints: bigint; collateralPoints: bigint; supplyPoints: bigint; market: { id: `0x${string}`; totalBorrowPoints: bigint; totalCollateralPoints: bigint; totalSupplyPoints: bigint; }; }[]; getUserMarketPoints(user: Address, hexId: Hex): { user: `0x${string}`; borrowPoints: bigint; collateralPoints: bigint; supplyPoints: bigint; market: { id: `0x${string}`; totalBorrowPoints: bigint; totalCollateralPoints: bigint; totalSupplyPoints: bigint; }; }; getMetaMorphoPoints(metaMorpho: Address): { id: `0x${string}`; totalPoints: bigint; }; getAllUserMetaMorphoPoints(user: Address): { supplyPoints: bigint; metaMorpho: { id: `0x${string}`; totalPoints: bigint; }; }[]; getUserMetaMorphoPoints(user: Address): { supplyPoints: bigint; metaMorpho: { id: `0x${string}`; totalPoints: bigint; }; }; getAllUserPoints(user: Address): { markets: { user: `0x${string}`; borrowPoints: bigint; collateralPoints: bigint; supplyPoints: bigint; market: { id: `0x${string}`; totalBorrowPoints: bigint; totalCollateralPoints: bigint; totalSupplyPoints: bigint; }; }[]; metaMorphos: { supplyPoints: bigint; metaMorpho: { id: `0x${string}`; totalPoints: bigint; }; }[]; }; }