import { type CommunityConsentClient, type CommunityConsentView } from "../../runtime/community/community-consent-client.js";
import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
export type { CommunityConsentClient, CommunityConsentView, CommunityInstallRiskTier, CommunityInstallResolution, CommunityListNoticesInput, CommunityNotice, CommunityPublishSkillInput, CommunityRecordSignalInput, CommunityRecordTelemetryInput, CommunityRegistryMatchInput, CommunitySignalEvent, SetCommunityConsentInput, } from "../../runtime/community/community-consent-client.js";
export type { CommunityTelemetryEvent } from "../../runtime/community/community-telemetry-types.js";
export interface CommunityConsentStore {
    read(): Promise<CommunityConsentView>;
    write(consent: CommunityConsentView): Promise<void>;
}
export interface CommunityHandlerHost {
    resolveCommunityConsentClient?: () => CommunityConsentClient | null;
    resolveCommunityConsentStore?: () => CommunityConsentStore;
    sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
}
export declare const METHOD_CONSENT_REQUIRED_MESSAGE = "Community participation consent is required before publishing shared skills.";
export declare function handleCommunityGetConsent(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunitySetConsent(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityListShared(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityMatchRegistry(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityResolveInstall(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityListResourceVersions(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityGetRatingSummary(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityRateResource(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityReportResource(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityListComments(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityPostComment(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityInstallResource(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
/**
 * Handshake step ① — probe declared runtime dependencies (vetted catalog only).
 * The plugin page calls this right after install so "点 + 即可用" holds: missing
 * quick runtimes are auto-installed, heavy/unknown ones surface a consent card.
 */
export declare function handleCommunityRuntimeStatus(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
/** Handshake step ② — install ONE vetted runtime dependency (catalog recipe only). */
export declare function handleCommunityInstallRuntime(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityPublishSkill(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityPublishPet(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityRecordSignal(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityRecordTelemetry(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityListPublishAudit(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityWithdrawShared(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityWithdrawAllShared(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityListNotices(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleCommunityMarkNoticeRead(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function hasMethodSharingConsent(consent: CommunityConsentView): boolean;
export declare function createFileCommunityConsentStore(): CommunityConsentStore;
