import { ClsService } from "nestjs-cls"; import { JsonApiService } from "../../../core/jsonapi/services/jsonapi.service"; import { AbstractService } from "../../../core/neo4j/abstracts/abstract.service"; import { TokenUsageReportDimension, TokenUsageReportMetric } from "../common/tokenusage.target-labels"; import { TokenUsage, TokenUsageDescriptor } from "../entities/tokenusage"; import { TokenUsageReportRepository } from "../repositories/tokenusage.report.repository"; /** * Serialises the self-service reporting rollups as JSON:API documents. * * Same generics, descriptor and super() argument order as its two siblings in * this folder, so all three tokenusage services are wired identically. * `descriptor` and the inherited `model` are the TokenUsage entity — that is * what the repository reads and what the base class needs to be coherent — while * the three methods below serialise with the AGGREGATE descriptors' models, * because their return shapes are rollups, not TokenUsage nodes. * * JSON:API documents are built exclusively by the framework; nothing here * hand-assembles a { data: { type, attributes } } object. */ export declare class TokenUsageReportService extends AbstractService { protected readonly tokenUsageReportRepository: TokenUsageReportRepository; protected readonly descriptor: import("../../..").EntityDescriptor; constructor(jsonApiService: JsonApiService, tokenUsageReportRepository: TokenUsageReportRepository, clsService: ClsService); getSummary(params: { from: string; to: string; }): Promise; getTimeline(params: { from: string; to: string; granularity: "day" | "week" | "month"; stackBy: "type"; }): Promise; getBreakdown(params: { from: string; to: string; dimension: TokenUsageReportDimension; targetLabel?: string; metric: TokenUsageReportMetric; limit: number; }): Promise; } //# sourceMappingURL=tokenusage.report.service.d.ts.map