import { Address, BigNumber, BlockNumber, SubgraphId, Timestamp } from "../../mappedSubgraphTypes";
import { StreamPeriod_Filter, StreamPeriod_OrderBy } from "../../schema.generated";
import { RelevantAddressesIntermediate, SubgraphListQuery, SubgraphQueryHandler } from "../../subgraphQueryHandler";
import { StreamPeriodsQuery, StreamPeriodsQueryVariables } from "./streamPeriods.generated";
export interface StreamPeriod {
    id: SubgraphId;
    flowRate: BigNumber;
    startedAtBlockNumber: BlockNumber;
    startedAtTimestamp: Timestamp;
    stoppedAtBlockNumber?: BlockNumber;
    stoppedAtTimestamp?: Timestamp;
    totalAmountStreamed?: BigNumber;
    token: Address;
    tokenSymbol: string;
    stream: SubgraphId;
    sender: Address;
    receiver: Address;
    stoppedAtEvent?: SubgraphId;
    startedAtEvent: SubgraphId;
}
export type StreamPeriodListQuery = SubgraphListQuery<StreamPeriod_Filter, StreamPeriod_OrderBy>;
export declare class StreamPeriodQueryHandler extends SubgraphQueryHandler<StreamPeriod, StreamPeriodListQuery, StreamPeriodsQuery, StreamPeriodsQueryVariables> {
    getAddressFieldKeysFromFilter: () => {
        accountKeys: (keyof StreamPeriod_Filter)[];
        tokenKeys: (keyof StreamPeriod_Filter)[];
    };
    getRelevantAddressesFromResultCore: (result: StreamPeriod) => RelevantAddressesIntermediate;
    mapFromSubgraphResponse: (response: StreamPeriodsQuery) => StreamPeriod[];
    requestDocument: import("@graphql-typed-document-node/core").TypedDocumentNode<StreamPeriodsQuery, 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"]>;
        where?: import("../../schema.generated").InputMaybe<StreamPeriod_Filter>;
        orderBy?: import("../../schema.generated").InputMaybe<StreamPeriod_OrderBy>;
        orderDirection?: import("../../schema.generated").InputMaybe<import("../../schema.generated").OrderDirection>;
        block?: import("../../schema.generated").InputMaybe<import("../../schema.generated").Block_Height>;
    }>>;
}
//# sourceMappingURL=streamPeriod.d.ts.map