export declare const protobufPackage = "materi.events.v1"; /** Event priority levels */ export declare enum EventPriority { PRIORITY_UNSPECIFIED = "PRIORITY_UNSPECIFIED", PRIORITY_LOW = "PRIORITY_LOW", PRIORITY_MEDIUM = "PRIORITY_MEDIUM", PRIORITY_HIGH = "PRIORITY_HIGH", PRIORITY_CRITICAL = "PRIORITY_CRITICAL", UNRECOGNIZED = "UNRECOGNIZED" } export declare function eventPriorityFromJSON(object: any): EventPriority; export declare function eventPriorityToJSON(object: EventPriority): string; /** Event delivery mode */ export declare enum DeliveryMode { DELIVERY_MODE_UNSPECIFIED = "DELIVERY_MODE_UNSPECIFIED", AT_LEAST_ONCE = "AT_LEAST_ONCE", AT_MOST_ONCE = "AT_MOST_ONCE", EXACTLY_ONCE = "EXACTLY_ONCE", UNRECOGNIZED = "UNRECOGNIZED" } export declare function deliveryModeFromJSON(object: any): DeliveryMode; export declare function deliveryModeToJSON(object: DeliveryMode): string; /** Event status */ export declare enum EventStatus { EVENT_STATUS_UNSPECIFIED = "EVENT_STATUS_UNSPECIFIED", PENDING = "PENDING", PROCESSING = "PROCESSING", COMPLETED = "COMPLETED", FAILED = "FAILED", RETRYING = "RETRYING", UNRECOGNIZED = "UNRECOGNIZED" } export declare function eventStatusFromJSON(object: any): EventStatus; export declare function eventStatusToJSON(object: EventStatus): string; /** BaseEvent contains fields common to all events */ export interface BaseEvent { /** Unique event identifier (UUID) */ eventId: string; /** Event type (e.g., "document_created", "user_updated") */ eventType: string; /** Event timestamp (when the event occurred) */ timestamp?: Date | undefined; /** Correlation ID for request tracing */ correlationId: string; /** User who triggered the event (if applicable) */ userId: string; /** Event schema version */ version: number; /** Source service that published the event */ sourceService: string; /** Target services (optional, for routing) */ targetServices: string[]; /** Event priority */ priority: EventPriority; /** Idempotency key (for deduplication) */ idempotencyKey: string; } export declare const BaseEvent: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends { $case: string; } ? { [K in keyof Omit]?: DeepPartial; } & { $case: T["$case"]; } : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export interface MessageFns { fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {}; //# sourceMappingURL=base_event.d.ts.map