SecGenixEvent:
    | EventEnvelope<"policy.drafted", {
        policyId: string;
        version: number;
    }>
    | EventEnvelope<"policy.approved", {
        approver: string;
        policyId: string;
        version: number;
    }>
    | EventEnvelope<"policy.published", {
        digest: string;
        edges: number;
        policyId: string;
        version: number;
    }>
    | EventEnvelope<"device.enrolled", {
        deviceId: string;
        devicePublicKey: string | null;
        initiator: string | null;
        leaseExpiresAt: number | null;
        overlayIp: string | null;
        role: string;
        wgPublicKey: string | null;
    }>
    | EventEnvelope<"device.lease.renewed", {
        deviceId: string;
        leaseExpiresAt: number;
        wgPublicKey: string;
    }>
    | EventEnvelope<"enrollment.token.minted", {
        expiresAt: number;
        kind: "device" | "gateway";
        name: string;
        role: string;
        tokenId: string;
    }>
    | EventEnvelope<"gateway.registered", {
        endpoint: string;
        gatewayId: string;
        overlayCidr: string;
        publicKey: string;
        wgPublicKey: string;
    }>
    | EventEnvelope<"bundle.published", {
        devices: number;
        digest: string;
        version: number;
    }>
    | EventEnvelope<"receipts.ingested", {
        allow: number;
        archiveKey: string;
        count: number;
        deny: number;
        edgeId: string;
        fromSeq: number;
        lastHash: string;
        toSeq: number;
    }>
    | EventEnvelope<"flow.closed", FlowClosed>
    | EventEnvelope<"admin.passkey.registered", {
        credentialId: string;
        principal: string;
    }>
    | EventEnvelope<"device.revoked", {
        deviceId: string;
    }>
    | EventEnvelope<"edge.bundle.applied", {
        digest: string;
        edgeId: string;
        version: number;
    }>
    | EventEnvelope<"edge.decision", {
        edgeId: string;
        effect: "allow" | "deny";
        flowId: string;
        reason: string;
        receiptHash: string;
    }>
    | EventEnvelope<"flag.changed", {
        flag: string;
        value: boolean;
    }>