import type { Config } from '../../config/schema.js';
import type { WorkflowEventEnvelope, WorkflowEventPayload, WorkflowEventType } from '../domain/event.js';
export interface AppendWorkflowEventInput<T extends WorkflowEventPayload = WorkflowEventPayload> {
    runId: string;
    type: WorkflowEventType;
    payload: T;
    createdAtMs?: number;
}
export declare class WorkflowEventStore {
    private readonly config;
    private readonly agentId;
    constructor(config: Config, agentId: string);
    append<T extends WorkflowEventPayload>(input: AppendWorkflowEventInput<T>): Promise<WorkflowEventEnvelope<T>>;
    readRunEvents(runId: string): Promise<WorkflowEventEnvelope[]>;
    listRunIds(): Promise<string[]>;
}
export declare function createWorkflowEventStore(config: Config, agentId: string): WorkflowEventStore;
