import { z } from "zod";
import { EventType } from "./event-types";
export declare const baseEventZ: z.ZodObject<{
    id: z.ZodString;
    zoneId: z.ZodEffects<z.ZodNumber, number, number>;
    zoneName: z.ZodEnum<[string, ...string[]]>;
    schemaVersion: z.ZodEnum<["v1", "v2"]>;
    eventType: z.ZodEnum<[EventType, ...EventType[]]>;
    timeStamp: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v1" | "v2";
    eventType: EventType;
    timeStamp: number;
}, {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v1" | "v2";
    eventType: EventType;
    timeStamp: number;
}>;
export interface BaseEventAuditPushedV1 {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v1";
    eventType: "audit.pushed";
    timeStamp: number;
}
export interface BaseEventAuditSlashedV1 {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v1";
    eventType: "audit.slashed";
    timeStamp: number;
}
export interface BaseEventAuditPfeesPaidV1 {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v1";
    eventType: "audit.pfees.paid";
    timeStamp: number;
}
export interface BaseEventAuditPfeesPaidV2 {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v2";
    eventType: "audit.pfees.paid";
    timeStamp: number;
}
export interface BaseEventApplicationCreatedV1 {
    id: string;
    zoneId: number;
    zoneName: string;
    schemaVersion: "v1";
    eventType: "application.created";
    timeStamp: number;
}
export type BaseEvent = BaseEventAuditPushedV1 | BaseEventAuditSlashedV1 | BaseEventAuditPfeesPaidV1 | BaseEventAuditPfeesPaidV2 | BaseEventApplicationCreatedV1;
