import { Address, BigNumber, BlockNumber, SubgraphId, Timestamp } from "../../mappedSubgraphTypes";
import { Index_Filter, Index_OrderBy } from "../../schema.generated";
import { RelevantAddressesIntermediate, SubgraphListQuery, SubgraphQueryHandler } from "../../subgraphQueryHandler";
import { IndexesQuery, IndexesQueryVariables } from "./indexes.generated";
export interface Index {
    id: SubgraphId;
    createdAtBlockNumber: BlockNumber;
    createdAtTimestamp: Timestamp;
    updatedAtTimestamp: Timestamp;
    updatedAtBlockNumber: BlockNumber;
    indexId: string;
    indexValue: BigNumber;
    totalAmountDistributedUntilUpdatedAt: BigNumber;
    totalSubscriptionsWithUnits: number;
    totalUnits: BigNumber;
    totalUnitsApproved: BigNumber;
    totalUnitsPending: BigNumber;
    indexCreatedEvent: SubgraphId;
    publisher: Address;
    token: Address;
    tokenSymbol: string;
}
export type IndexListQuery = SubgraphListQuery<Index_Filter, Index_OrderBy>;
export declare class IndexQueryHandler extends SubgraphQueryHandler<Index, IndexListQuery, IndexesQuery, IndexesQueryVariables> {
    getAddressFieldKeysFromFilter: () => {
        accountKeys: (keyof Index_Filter)[];
        tokenKeys: (keyof Index_Filter)[];
    };
    getRelevantAddressesFromResultCore: (result: Index) => RelevantAddressesIntermediate;
    mapFromSubgraphResponse: (response: IndexesQuery) => Index[];
    requestDocument: import("@graphql-typed-document-node/core").TypedDocumentNode<IndexesQuery, import("../../schema.generated").Exact<{
        first?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Scalars["Int"]["input"]>;
        orderBy?: import("../../schema.generated").InputMaybe<Index_OrderBy>;
        orderDirection?: import("../../schema.generated").InputMaybe<import("../../schema.generated").OrderDirection>;
        skip?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Scalars["Int"]["input"]>;
        where?: import("../../schema.generated").InputMaybe<Index_Filter>;
        block?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Block_Height>;
    }>>;
}
//# sourceMappingURL=index.d.ts.map