import { type ActivityEvent, type CreateActivityEventInput } from "./activity-event.js";
import { type CommunityConsentClient } from "./community-consent-client.js";
import type { ConfigPort } from "../ports/index.js";
export type ActivityEmitStatus = "emitted" | "disabled" | "consent-blocked" | "failed";
/** 活动事件出口:真实实现把事件写入 community-service(社交通道,非权威)。 */
export interface ActivityEventTransport {
    emit(event: ActivityEvent): Promise<void>;
}
export interface ActivityEventEmitterDeps {
    /** 无 transport(未配置 / dev)→ "disabled"。 */
    transport: ActivityEventTransport | null;
    /** consent 源;community 事件必须能验 consent,否则 fail-safe 拦下。 */
    consent: Pick<CommunityConsentClient, "getConsent"> | null;
}
export interface ActivityEventEmitter {
    emit(input: CreateActivityEventInput): Promise<ActivityEmitStatus>;
}
export declare function createActivityEventEmitter(deps: ActivityEventEmitterDeps): ActivityEventEmitter;
/** 把 community-service 的 emitActivity 包成 transport(社交写只走此通道,零触碰权威)。 */
export declare function createHubActivityTransport(client: Pick<CommunityConsentClient, "emitActivity">): ActivityEventTransport;
/**
 * 默认发射器:从 env consent client 构造 transport + consent。
 * 无 token(dev)→ client null → transport null(emit 返回 "disabled",fail-safe)。
 */
export declare function createDefaultActivityEventEmitter(): ActivityEventEmitter;
/**
 * 解析本 agent 自己的 actorPetId = derivePetKey(owner, device)(Cut7/#1)。
 * owner=QLOGIC_LLMROUTER_USER_ID、device=QLOGIC_LLMROUTER_DEVICE_ID(gateway 经 buildQlogicagentLlmrouterEnv 注入)。
 * 缺料(未登录/dev)→ null:调用方应跳过发射(fail-soft,绝不因社交写挂任务)。
 */
export declare function resolveSelfActorPetId(configPort?: ConfigPort): string | null;
