import { Address, BigNumber, BlockNumber, SubgraphId, Timestamp } from "../../mappedSubgraphTypes";
import { AccountTokenSnapshot_Filter, AccountTokenSnapshot_OrderBy } from "../../schema.generated";
import { RelevantAddressesIntermediate, SubgraphListQuery, SubgraphQueryHandler } from "../../subgraphQueryHandler";
import { AccountTokenSnapshotsQuery, AccountTokenSnapshotsQueryVariables } from "./accountTokenSnapshots.generated";
export interface AccountTokenSnapshot {
    balanceUntilUpdatedAt: BigNumber;
    id: SubgraphId;
    totalAmountStreamedUntilUpdatedAt: BigNumber;
    totalAmountStreamedInUntilUpdatedAt: BigNumber;
    totalAmountStreamedOutUntilUpdatedAt: BigNumber;
    totalAmountTransferredUntilUpdatedAt: BigNumber;
    totalInflowRate: BigNumber;
    totalApprovedSubscriptions: number;
    totalNetFlowRate: BigNumber;
    totalNumberOfActiveStreams: number;
    activeOutgoingStreamCount: number;
    activeIncomingStreamCount: number;
    totalOutflowRate: BigNumber;
    maybeCriticalAtTimestamp: Timestamp | null;
    isLiquidationEstimateOptimistic: boolean;
    totalNumberOfClosedStreams: number;
    inactiveOutgoingStreamCount: number;
    inactiveIncomingStreamCount: number;
    totalSubscriptionsWithUnits: number;
    updatedAtBlockNumber: BlockNumber;
    updatedAtTimestamp: Timestamp;
    account: Address;
    token: Address;
    tokenSymbol: string;
}
export type AccountTokenSnapshotListQuery = SubgraphListQuery<AccountTokenSnapshot_Filter, AccountTokenSnapshot_OrderBy>;
export declare class AccountTokenSnapshotQueryHandler extends SubgraphQueryHandler<AccountTokenSnapshot, AccountTokenSnapshotListQuery, AccountTokenSnapshotsQuery, AccountTokenSnapshotsQueryVariables> {
    getAddressFieldKeysFromFilter: () => {
        accountKeys: (keyof AccountTokenSnapshot_Filter)[];
        tokenKeys: (keyof AccountTokenSnapshot_Filter)[];
    };
    getRelevantAddressesFromResultCore: (result: AccountTokenSnapshot) => RelevantAddressesIntermediate;
    mapFromSubgraphResponse: (response: AccountTokenSnapshotsQuery) => AccountTokenSnapshot[];
    requestDocument: import("@graphql-typed-document-node/core").TypedDocumentNode<AccountTokenSnapshotsQuery, import("../../schema.generated").Exact<{
        first?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Scalars["Int"]["input"]>;
        skip?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Scalars["Int"]["input"]>;
        orderBy?: import("../../schema.generated").InputMaybe<AccountTokenSnapshot_OrderBy>;
        orderDirection?: import("../../schema.generated").InputMaybe<import("../../schema.generated").OrderDirection>;
        where?: import("../../schema.generated").InputMaybe<AccountTokenSnapshot_Filter>;
        block?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Block_Height>;
    }>>;
}
//# sourceMappingURL=accountTokenSnapshot.d.ts.map