import type { PieceCID, ProviderInfo, SubgraphConfig, SubgraphRetrievalService } from '../types.ts'; export interface PaginationOptions { first?: number; skip?: number; } export interface QueryOptions extends PaginationOptions { where?: Record; orderBy?: string; orderDirection?: 'asc' | 'desc'; } export interface NestedQueryOptions extends QueryOptions { nestedWhere?: Record; } export interface ProviderStats extends ProviderInfo { status: string; totalFaultedPeriods: number; totalFaultedPieces: number; totalDataSets: number; totalPieces: number; totalDataSize: number; createdAt: number; updatedAt: number; } export interface SubgraphDataSetInfo { id: string; setId: number; isActive: boolean; leafCount: number; totalDataSize: number; totalPieces: number; totalProofs: number; totalProvedPieces: number; totalFaultedPieces: number; createdAt: number; updatedAt: number; } export interface DetailedSubgraphDataSetInfo extends SubgraphDataSetInfo { listener: string; payer: string; withCDN: boolean; challengeRange: number; lastProvenEpoch: number; nextChallengeEpoch: number; totalFaultedPeriods: number; metadataKeys: string[]; metadataValues: string[]; serviceProvider: ProviderInfo; rails?: { id: string; type: string; railId: number; token: string; paymentRate: number; settledUpto: number; endEpoch: number; }[]; } export interface PieceInfo { id: string; setId: number; pieceId: number; rawSize: number; leafCount: number; cid: PieceCID | null; removed: boolean; totalProofsSubmitted: number; totalPeriodsFaulted: number; lastProvenEpoch: number; lastProvenAt: number; lastFaultedEpoch: number; lastFaultedAt: number; createdAt: number; metadataKeys: string[]; metadataValues: string[]; dataSet: { id: string; setId: number; isActive: boolean; serviceProvider: ProviderInfo; }; } export interface FaultRecord { id: string; dataSetId: number; pieceIds: number[]; currentChallengeEpoch: number; nextChallengeEpoch: number; periodsFaulted: number; deadline: number; createdAt: number; dataSet: { id: string; setId: number; serviceProvider: ProviderInfo; }; } export declare class SubgraphService implements SubgraphRetrievalService { private readonly endpoint; private readonly headers; constructor(subgraphConfig: SubgraphConfig); private resolveEndpoint; private buildGoldskyEndpoint; private buildHeaders; private normalizeQueryOptions; private executeQuery; private getProductType; private transformProviderData; private transformProducts; private createServiceProduct; private transformCapabilities; private parseProductData; private parseTimestamp; private safeConvertHexToCid; private isValidProviderData; getApprovedProvidersForPieceCID(pieceCid: PieceCID): Promise; getProviderByAddress(address: string): Promise; queryProviders(options?: QueryOptions): Promise; queryDataSets(options?: QueryOptions): Promise; queryPieces(options?: QueryOptions): Promise; queryFaultRecords(options?: QueryOptions): Promise; } //# sourceMappingURL=service.d.ts.map