import { r as KlawConfig } from "./types.klaw-xKUw_Rz7.js"; import { _ as GroupPolicy } from "./types.base-Dkv2492C.js"; import { V as ChannelSecurityAdapter } from "./types.adapters-DatL0h_D.js"; //#region src/channels/plugins/group-policy-warnings.d.ts type GroupPolicyWarningCollector = (groupPolicy: GroupPolicy) => string[]; type AccountGroupPolicyWarningCollector = (params: { account: ResolvedAccount; cfg: KlawConfig; }) => string[]; type ConfigGroupPolicyWarningCollector = (params: Params) => string[]; type WarningCollector = (params: Params) => string[]; declare function composeWarningCollectors(...collectors: Array | null | undefined>): WarningCollector; declare function projectWarningCollector(project: (params: Params) => Projected, collector: WarningCollector): WarningCollector; declare function projectConfigWarningCollector(collector: WarningCollector<{ cfg: KlawConfig; }>): WarningCollector; declare function projectConfigAccountIdWarningCollector(collector: WarningCollector<{ cfg: KlawConfig; accountId?: string | null; }>): WarningCollector; declare function projectAccountWarningCollector(collector: WarningCollector): WarningCollector; declare function projectAccountConfigWarningCollector(projectCfg: (cfg: KlawConfig) => ProjectedCfg, collector: WarningCollector<{ account: ResolvedAccount; cfg: ProjectedCfg; }>): WarningCollector; declare function createConditionalWarningCollector(...collectors: Array<(params: Params) => string | string[] | null | undefined | false>): WarningCollector; declare function composeAccountWarningCollectors(baseCollector: WarningCollector, ...collectors: Array<(account: ResolvedAccount) => string | string[] | null | undefined | false>): WarningCollector; declare function buildOpenGroupPolicyWarning(params: { surface: string; openBehavior: string; remediation: string; }): string; declare function buildOpenGroupPolicyRestrictSendersWarning(params: { surface: string; openScope: string; groupPolicyPath: string; groupAllowFromPath: string; mentionGated?: boolean; }): string; declare function buildOpenGroupPolicyNoRouteAllowlistWarning(params: { surface: string; routeAllowlistPath: string; routeScope: string; groupPolicyPath: string; groupAllowFromPath: string; mentionGated?: boolean; }): string; declare function buildOpenGroupPolicyConfigureRouteAllowlistWarning(params: { surface: string; openScope: string; groupPolicyPath: string; routeAllowlistPath: string; mentionGated?: boolean; }): string; declare function collectOpenGroupPolicyRestrictSendersWarnings(params: Parameters[0] & { groupPolicy: "open" | "allowlist" | "disabled"; }): string[]; declare function collectAllowlistProviderRestrictSendersWarnings(params: { cfg: KlawConfig; providerConfigPresent: boolean; configuredGroupPolicy?: GroupPolicy | null; } & Omit[0], "groupPolicy">): string[]; /** Build an account-aware allowlist-provider warning collector for sender-restricted groups. */ declare function createAllowlistProviderRestrictSendersWarningCollector(params: { providerConfigPresent: (cfg: KlawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; } & Omit[0], "cfg" | "providerConfigPresent" | "configuredGroupPolicy">): AccountGroupPolicyWarningCollector; /** Build a direct account-aware warning collector when the policy already lives on the account. */ declare function createOpenGroupPolicyRestrictSendersWarningCollector(params: { resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; defaultGroupPolicy?: GroupPolicy; } & Omit[0], "groupPolicy">): (account: ResolvedAccount) => string[]; declare function collectAllowlistProviderGroupPolicyWarnings(params: { cfg: KlawConfig; providerConfigPresent: boolean; configuredGroupPolicy?: GroupPolicy | null; collect: GroupPolicyWarningCollector; }): string[]; /** Build a config-aware allowlist-provider warning collector from an arbitrary policy resolver. */ declare function createAllowlistProviderGroupPolicyWarningCollector(params: { providerConfigPresent: (cfg: KlawConfig) => boolean; resolveGroupPolicy: (params: Params) => GroupPolicy | null | undefined; collect: (params: Params & { groupPolicy: GroupPolicy; }) => string[]; }): ConfigGroupPolicyWarningCollector; declare function collectOpenProviderGroupPolicyWarnings(params: { cfg: KlawConfig; providerConfigPresent: boolean; configuredGroupPolicy?: GroupPolicy | null; collect: GroupPolicyWarningCollector; }): string[]; /** Build a config-aware open-provider warning collector from an arbitrary policy resolver. */ declare function createOpenProviderGroupPolicyWarningCollector(params: { providerConfigPresent: (cfg: KlawConfig) => boolean; resolveGroupPolicy: (params: Params) => GroupPolicy | null | undefined; collect: (params: Params & { groupPolicy: GroupPolicy; }) => string[]; }): ConfigGroupPolicyWarningCollector; /** Build an account-aware allowlist-provider warning collector for simple open-policy warnings. */ declare function createAllowlistProviderOpenWarningCollector(params: { providerConfigPresent: (cfg: KlawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; buildOpenWarning: Parameters[0]; }): AccountGroupPolicyWarningCollector; declare function collectOpenGroupPolicyRouteAllowlistWarnings(params: { groupPolicy: "open" | "allowlist" | "disabled"; routeAllowlistConfigured: boolean; restrictSenders: Parameters[0]; noRouteAllowlist: Parameters[0]; }): string[]; /** Build an account-aware allowlist-provider warning collector for route-allowlisted groups. */ declare function createAllowlistProviderRouteAllowlistWarningCollector(params: { providerConfigPresent: (cfg: KlawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; resolveRouteAllowlistConfigured: (account: ResolvedAccount) => boolean; restrictSenders: Parameters[0]; noRouteAllowlist: Parameters[0]; }): AccountGroupPolicyWarningCollector; declare function collectOpenGroupPolicyConfiguredRouteWarnings(params: { groupPolicy: "open" | "allowlist" | "disabled"; routeAllowlistConfigured: boolean; configureRouteAllowlist: Parameters[0]; missingRouteAllowlist: Parameters[0]; }): string[]; /** Build an account-aware open-provider warning collector for configured-route channels. */ declare function createOpenProviderConfiguredRouteWarningCollector(params: { providerConfigPresent: (cfg: KlawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; resolveRouteAllowlistConfigured: (account: ResolvedAccount) => boolean; configureRouteAllowlist: Parameters[0]; missingRouteAllowlist: Parameters[0]; }): AccountGroupPolicyWarningCollector; //#endregion //#region src/plugin-sdk/channel-policy.d.ts declare function normalizeAllowFromList(list: Array | undefined | null): string[]; declare function coerceNativeSetting(value: unknown): boolean | "auto" | undefined; type ChannelMutableAllowlistCandidate = { pathLabel: string; list: unknown; }; declare function createDangerousNameMatchingMutableAllowlistWarningCollector(params: { channel: string; detector: (entry: string) => boolean; collectLists: (scope: { prefix: string; account: Record; dangerousFlagPath: string; }) => ChannelMutableAllowlistCandidate[]; }): ({ cfg }: { cfg: KlawConfig; }) => string[]; /** Compose the common DM policy resolver with restrict-senders group warnings. */ declare function createRestrictSendersChannelSecurity(params: { channelKey: string; resolveDmPolicy: (account: ResolvedAccount) => string | null | undefined; resolveDmAllowFrom: (account: ResolvedAccount) => Array | null | undefined; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; surface: string; openScope: string; groupPolicyPath: string; groupAllowFromPath: string; mentionGated?: boolean; providerConfigPresent?: (cfg: KlawConfig) => boolean; resolveFallbackAccountId?: (account: ResolvedAccount) => string | null | undefined; defaultDmPolicy?: string; allowFromPathSuffix?: string; policyPathSuffix?: string; approveChannelId?: string; approveHint?: string; normalizeDmEntry?: (raw: string) => string; inheritSharedDefaultsFromDefaultAccount?: boolean; }): ChannelSecurityAdapter; //#endregion export { createOpenProviderConfiguredRouteWarningCollector as C, projectConfigAccountIdWarningCollector as D, projectAccountWarningCollector as E, projectConfigWarningCollector as O, createOpenGroupPolicyRestrictSendersWarningCollector as S, projectAccountConfigWarningCollector as T, createAllowlistProviderGroupPolicyWarningCollector as _, normalizeAllowFromList as a, createAllowlistProviderRouteAllowlistWarningCollector as b, buildOpenGroupPolicyWarning as c, collectOpenGroupPolicyConfiguredRouteWarnings as d, collectOpenGroupPolicyRestrictSendersWarnings as f, composeWarningCollectors as g, composeAccountWarningCollectors as h, createRestrictSendersChannelSecurity as i, projectWarningCollector as k, collectAllowlistProviderGroupPolicyWarnings as l, collectOpenProviderGroupPolicyWarnings as m, coerceNativeSetting as n, buildOpenGroupPolicyConfigureRouteAllowlistWarning as o, collectOpenGroupPolicyRouteAllowlistWarnings as p, createDangerousNameMatchingMutableAllowlistWarningCollector as r, buildOpenGroupPolicyRestrictSendersWarning as s, ChannelMutableAllowlistCandidate as t, collectAllowlistProviderRestrictSendersWarnings as u, createAllowlistProviderOpenWarningCollector as v, createOpenProviderGroupPolicyWarningCollector as w, createConditionalWarningCollector as x, createAllowlistProviderRestrictSendersWarningCollector as y };