import { type UsageV2Event, type UsageV2Source } from "../core/usageV2.js"; import { KafkaProducer } from "./kafka.js"; /** * Creates a producer for usage events. * * Example: * ```ts * const kafkaProducer = new KafkaProducer({...}); * const usageV2 = new UsageV2Producer({ kafkaProducer, source: "storage" }); * await usageV2.sendEvents(events); * ``` */ export declare class UsageV2Producer { private kafkaProducer; private topic; constructor(config: { /** * Shared KafkaProducer instance. */ kafkaProducer: KafkaProducer; /** * The product where usage is coming from. */ source: UsageV2Source; } | { /** * A descriptive name for your service. Example: "storage-server" */ producerName: string; /** * A comma-separated list of `host[:port]` Kafka servers. * @deprecated: Instantiate and pass in `kafkaProducer` instead. */ kafkaServers: string; /** * The product where usage is coming from. */ source: UsageV2Source; username: string; password: string; }); /** * Send usageV2 events. * This method may throw. To call this non-blocking: * ```ts * void usageV2.sendEvents(events).catch((e) => console.error(e)) * ``` * * @param events */ sendEvents(events: UsageV2Event[]): Promise; } //# sourceMappingURL=usageV2.d.ts.map