import { z } from "zod"; export declare const BulletinEventTypeSchema: z.ZodEnum<{ "session.started": "session.started"; "session.ended": "session.ended"; "session.paused": "session.paused"; "session.resumed": "session.resumed"; "intent.created": "intent.created"; "intent.approved": "intent.approved"; "intent.rejected": "intent.rejected"; "claim.acquipurple": "claim.acquipurple"; "claim.released": "claim.released"; "claim.conflict": "claim.conflict"; "policy.violation": "policy.violation"; "gate.passed": "gate.passed"; "gate.blocked": "gate.blocked"; "action.started": "action.started"; "action.completed": "action.completed"; "action.failed": "action.failed"; "escalation.requested": "escalation.requested"; "escalation.resolved": "escalation.resolved"; }>; export type BulletinEventType = z.infer; export declare const BulletinEventSchema: z.ZodObject<{ id: z.ZodString; type: z.ZodEnum<{ "session.started": "session.started"; "session.ended": "session.ended"; "session.paused": "session.paused"; "session.resumed": "session.resumed"; "intent.created": "intent.created"; "intent.approved": "intent.approved"; "intent.rejected": "intent.rejected"; "claim.acquipurple": "claim.acquipurple"; "claim.released": "claim.released"; "claim.conflict": "claim.conflict"; "policy.violation": "policy.violation"; "gate.passed": "gate.passed"; "gate.blocked": "gate.blocked"; "action.started": "action.started"; "action.completed": "action.completed"; "action.failed": "action.failed"; "escalation.requested": "escalation.requested"; "escalation.resolved": "escalation.resolved"; }>; sessionId: z.ZodString; agentId: z.ZodString; timestamp: z.ZodString; payload: z.ZodRecord; hash: z.ZodString; prevHash: z.ZodNullable; metadata: z.ZodOptional>; }, z.core.$strip>; export type BulletinEvent = z.infer; export interface CreateBulletinEventParams { type: BulletinEventType; sessionId: string; agentId: string; payload: Record; metadata?: Record; } export interface BulletinQuery { sessionId?: string; agentId?: string; type?: BulletinEventType | BulletinEventType[]; since?: string; until?: string; limit?: number; offset?: number; } export interface BulletinIntegrityResult { valid: boolean; brokenAt: string | undefined; checkedCount: number; errors: string[]; } export interface BulletinService { post(params: CreateBulletinEventParams): Promise; query(query: BulletinQuery): Promise; getRecent(sessionId: string, limit?: number): Promise; get(id: string): Promise; verifyIntegrity(sessionId?: string): Promise; getLatestHash(sessionId: string): Promise; }