import { type RoamingContext } from "./roaming-gate.js";
import type { CarryOutLevel } from "./roaming-gate.js";
import type { CreateActivityEventInput } from "./activity-event.js";
export type SocialEmissionAction = "emit-community" | "owner-only" | "escalate";
export interface GatedSocialEvent {
    action: SocialEmissionAction;
    /** 已按 DR2/DR3 设好 visibility 的事件(escalate / owner-only 时 visibility=owner)。 */
    event: CreateActivityEventInput;
    carryOutLevel: CarryOutLevel;
    reason: string;
}
/**
 * 过游历闸决定一条社交事件的最终归宿。纯函数,不发射。
 * 调用方:escalate → 升级问用户;emit-community / owner-only → 交 emitter.emit(gated.event)。
 */
export declare function gateSocialEvent(base: CreateActivityEventInput, ctx: RoamingContext): GatedSocialEvent;
