import { Address, BigNumber, BlockNumber, SubgraphId, Timestamp } from "../../mappedSubgraphTypes";
import { PoolMember_Filter, PoolMember_OrderBy } from "../../schema.generated";
import { RelevantAddressesIntermediate, SubgraphListQuery, SubgraphQueryHandler } from "../../subgraphQueryHandler";
import { PoolMembersQuery, PoolMembersQueryVariables } from "./poolMembers.generated";
export interface PoolMember {
    id: SubgraphId;
    createdAtBlockNumber: BlockNumber;
    createdAtTimestamp: Timestamp;
    updatedAtTimestamp: Timestamp;
    updatedAtBlockNumber: BlockNumber;
    units: BigNumber;
    account: Address;
    isConnected: boolean;
    totalAmountClaimed: BigNumber;
    token: Address;
    totalAmountReceivedUntilUpdatedAt: BigNumber;
    poolTotalAmountDistributedUntilUpdatedAt: BigNumber;
    pool: Address;
    syncedPerUnitFlowRate: BigNumber;
    syncedPerUnitSettledValue: BigNumber;
}
export type PoolMembersListQuery = SubgraphListQuery<PoolMember_Filter, PoolMember_OrderBy>;
export declare class PoolMemberQueryHandler extends SubgraphQueryHandler<PoolMember, PoolMembersListQuery, PoolMembersQuery, PoolMembersQueryVariables> {
    getAddressFieldKeysFromFilter: () => {
        accountKeys: (keyof PoolMember_Filter)[];
        tokenKeys: (keyof PoolMember_Filter)[];
    };
    getRelevantAddressesFromResultCore: (result: PoolMember) => RelevantAddressesIntermediate;
    mapFromSubgraphResponse: (response: PoolMembersQuery) => PoolMember[];
    requestDocument: import("@graphql-typed-document-node/core").TypedDocumentNode<PoolMembersQuery, 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<PoolMember_OrderBy>;
        orderDirection?: import("../../schema.generated").InputMaybe<import("../../schema.generated").OrderDirection>;
        where?: import("../../schema.generated").InputMaybe<PoolMember_Filter>;
        block?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Block_Height>;
    }>>;
}
//# sourceMappingURL=poolMember.d.ts.map