import type { ChannelId } from "../channels/plugins/types.js"; export declare function resolveEffectiveAllowFromLists(params: { allowFrom?: Array | null; groupAllowFrom?: Array | null; storeAllowFrom?: Array | null; dmPolicy?: string | null; }): { effectiveAllowFrom: string[]; effectiveGroupAllowFrom: string[]; }; export type DmGroupAccessDecision = "allow" | "block" | "pairing"; export declare function resolveDmGroupAccessDecision(params: { isGroup: boolean; dmPolicy?: string | null; groupPolicy?: string | null; effectiveAllowFrom: Array; effectiveGroupAllowFrom: Array; isSenderAllowed: (allowFrom: string[]) => boolean; }): { decision: DmGroupAccessDecision; reason: string; }; export declare function resolveDmAllowState(params: { provider: ChannelId; allowFrom?: Array | null; normalizeEntry?: (raw: string) => string; readStore?: (provider: ChannelId) => Promise; }): Promise<{ configAllowFrom: string[]; hasWildcard: boolean; allowCount: number; isMultiUserDm: boolean; }>;