export type TrustSignalEventType = "installed" | "success" | "fail" | "error" | "kept" | "uninstalled" | "endorse";
export type ExperientialEventType = "acquire" | "ask" | "answer" | "encounter" | "review";
export type FlauntEventType = "unlock" | "flaunt";
/** 浏览/搜索族(Cut7/M5:agent 搜资源 → 宠物到该区"逛")。非 trust-signal;community 可见走 encounter 闸。 */
export type BrowseEventType = "search";
export type ActivityEventType = TrustSignalEventType | ExperientialEventType | FlauntEventType | BrowseEventType;
/**
 * 空间锚点:agent 发射时本就持有 resourceId 与其 category,事件自带锚点让集市
 * 端零反查地把微动画钉到正确街区 / 店铺。**只允许 districtId / shopId。**
 */
export interface ActivitySpatialAnchor {
    /** RESOURCE_CATEGORIES 的 category key(23 类稳定 key)。 */
    districtId?: string;
    /** canonical resourceId(店铺稳定主键)。 */
    shopId?: string;
}
/** 禁止出现在 anchor 上的权威坐标键(DR12 红线,防后人误加诱导 v2 位置漂移)。 */
export declare const FORBIDDEN_ANCHOR_KEYS: readonly string[];
export interface ActivityPayload {
    /** 空间归属锚点(可选);禁权威坐标。 */
    anchor?: ActivitySpatialAnchor;
    [k: string]: unknown;
}
export type ActivityVisibility = "owner" | "community";
export interface ActivityEvent {
    /** 幂等键。 */
    id: string;
    type: ActivityEventType;
    /** 逐事件时间戳(epoch ms)。 */
    ts: number;
    /** 行动者 = 本人宠物人格(community-service 持有)。 */
    actorPetId: string;
    /** 对端 actorPetId(社交事件;离场降级"最近一次在场",不承诺在线;OFF 时缺省)。 */
    peerRef?: string;
    /** 已过脱敏边界(DR3);anchor 禁权威坐标。 */
    payload: ActivityPayload;
    /** owner=只进自己偷窥窗;community=游历 ON 才有(默认 owner,fail-safe)。 */
    visibility: ActivityVisibility;
}
export declare function isTrustSignalEvent(type: ActivityEventType): type is TrustSignalEventType;
export declare function isExperientialEvent(type: ActivityEventType): type is ExperientialEventType;
export declare function isFlauntEvent(type: ActivityEventType): type is FlauntEventType;
export declare function isActivityEventType(value: unknown): value is ActivityEventType;
export interface CreateActivityEventInput {
    id: string;
    type: ActivityEventType;
    ts: number;
    actorPetId: string;
    peerRef?: string;
    payload?: ActivityPayload;
    /** 默认 "owner"(fail-safe:跨租户可见须显式 + 上游 consent/roaming 闸放行)。 */
    visibility?: ActivityVisibility;
}
/**
 * 校验 anchor:只保留 districtId / shopId;若出现任何权威坐标键 → 抛错(DR12 红线,
 * 纵深防御:契约层就拦,不靠调用方自觉)。
 */
export declare function sanitizeAnchor(anchor: ActivitySpatialAnchor | undefined): ActivitySpatialAnchor | undefined;
/**
 * 构造一个经校验的 ActivityEvent。校验必填字段、规范化 anchor、默认 visibility=owner。
 */
export declare function createActivityEvent(input: CreateActivityEventInput): ActivityEvent;
