import { type Clock } from "@oscharko-dev/keiko-model-gateway";
import type { EventSink } from "./ports.js";
import type { HarnessEvent } from "./types.js";
type IdentityField = "schemaVersion" | "runId" | "fingerprint" | "seq" | "ts";
type EventBody = HarnessEvent extends infer E ? E extends HarnessEvent ? Omit<E, IdentityField> : never : never;
export declare class Emitter {
    private readonly sinks;
    private readonly clock;
    private readonly runId;
    private readonly fingerprint;
    private seq;
    constructor(sinks: readonly EventSink[], clock: Clock, runId: string, fingerprint: string);
    emit(body: EventBody): void;
}
export {};
//# sourceMappingURL=emitter.d.ts.map