import { Address, BigNumber, BlockNumber, SubgraphId, Timestamp } from "../../mappedSubgraphTypes";
import { PoolDistributor_Filter, PoolDistributor_OrderBy } from "../../schema.generated";
import { RelevantAddressesIntermediate, SubgraphListQuery, SubgraphQueryHandler } from "../../subgraphQueryHandler";
import { PoolDistributorsQuery, PoolDistributorsQueryVariables } from "./poolDistributors.generated";
export interface PoolDistributor {
    id: SubgraphId;
    createdAtTimestamp: Timestamp;
    createdAtBlockNumber: BlockNumber;
    updatedAtTimestamp: Timestamp;
    updatedAtBlockNumber: BlockNumber;
    totalBuffer: BigNumber;
    totalAmountInstantlyDistributedUntilUpdatedAt: BigNumber;
    totalAmountFlowedDistributedUntilUpdatedAt: BigNumber;
    totalAmountDistributedUntilUpdatedAt: BigNumber;
    flowRate: BigNumber;
    account: Address;
    pool: Address;
    token: Address;
}
export type PoolDistributorsListQuery = SubgraphListQuery<PoolDistributor_Filter, PoolDistributor_OrderBy>;
export declare class PoolDistributorQueryHandler extends SubgraphQueryHandler<PoolDistributor, PoolDistributorsListQuery, PoolDistributorsQuery, PoolDistributorsQueryVariables> {
    getAddressFieldKeysFromFilter: () => {
        accountKeys: (keyof PoolDistributor_Filter)[];
        tokenKeys: (keyof PoolDistributor_Filter)[];
    };
    getRelevantAddressesFromResultCore: (result: PoolDistributor) => RelevantAddressesIntermediate;
    mapFromSubgraphResponse: (response: PoolDistributorsQuery) => PoolDistributor[];
    requestDocument: import("@graphql-typed-document-node/core").TypedDocumentNode<PoolDistributorsQuery, 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<PoolDistributor_OrderBy>;
        orderDirection?: import("../../schema.generated").InputMaybe<import("../../schema.generated").OrderDirection>;
        where?: import("../../schema.generated").InputMaybe<PoolDistributor_Filter>;
        block?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Block_Height>;
    }>>;
}
//# sourceMappingURL=poolDistributor.d.ts.map