import { OurReport } from "./stats.cjs";
import { ApolloUsageReportOptions } from "./index.cjs";
import { YogaLogger, YogaServer } from "graphql-yoga";
import { google } from "@apollo/usage-reporting-protobuf";

//#region src/reporter.d.ts
declare class Reporter {
  private yoga;
  private logger;
  private reportHeaders;
  private options;
  private reportsBySchema;
  private nextSendAfterDelay?;
  private sending;
  constructor(options: ApolloUsageReportOptions, yoga: YogaServer<Record<string, unknown>, Record<string, unknown>>, logger: YogaLogger);
  addTrace(schemaId: string, options: Parameters<OurReport['addTrace']>[0]): Promise<void> | undefined;
  flush(): Promise<PromiseSettledResult<unknown>[]>;
  sendReport(schemaId: string): Promise<void>;
  private _sendReport;
  private getReport;
}
//#endregion
export { Reporter };