import { Cardano, Paginated, QueryStakePoolsArgs, SortField, StakePoolProvider, StakePoolStats } from '@cardano-sdk/core'; import { DbSyncProviderDependencies, EpochMonitor } from '../../util'; import { GenesisData } from '../../types'; import { InMemoryCache } from '../../InMemoryCache'; import { RunnableModule } from '@cardano-sdk/util'; import { StakePoolMetadataService } from '../types'; export interface StakePoolProviderProps { paginationPageSizeLimit: number; responseConfig?: { search?: { metrics?: { apy?: boolean; }; }; }; useBlockfrost: boolean; } export interface StakePoolProviderDependencies extends DbSyncProviderDependencies { cache: DbSyncProviderDependencies['cache'] & { db: InMemoryCache; }; epochMonitor: EpochMonitor; genesisData: GenesisData; metadataService: StakePoolMetadataService; } declare const DbSyncStakePoolProvider_base: (abstract new (dependencies: DbSyncProviderDependencies, name: string, logger: import("ts-log").Logger) => RunnableModule & { dbPools: import("../../util").DbPools; cardanoNode: import("@cardano-sdk/core").CardanoNode; logger: import("ts-log").Logger; healthCheck: () => Promise; }) & { prototype: { healthCheck: () => Promise; }; }; export declare class DbSyncStakePoolProvider extends DbSyncStakePoolProvider_base implements StakePoolProvider { #private; static notSupportedSortFields: SortField[]; constructor({ paginationPageSizeLimit, responseConfig, useBlockfrost }: StakePoolProviderProps, { cache, dbPools, cardanoNode, genesisData, metadataService, logger, epochMonitor }: StakePoolProviderDependencies); private getQueryBySortType; private attachExtendedMetadata; private getPoolsDataOrdered; private cacheStakePools; private queryExtraPoolsData; queryStakePoolsChecks(options: QueryStakePoolsArgs): void; queryStakePools(options: QueryStakePoolsArgs): Promise>; stakePoolStats(): Promise; initializeImpl(): Promise; startImpl(): Promise; shutdownImpl(): Promise; } export {}; //# sourceMappingURL=DbSyncStakePoolProvider.d.ts.map