import type { GroupPolicy } from "../../config/types.base.js"; import type { OpenClawConfig } from "../../config/types.openclaw.js"; type GroupPolicyWarningCollector = (groupPolicy: GroupPolicy) => string[]; type AccountGroupPolicyWarningCollector = (params: { account: ResolvedAccount; cfg: OpenClawConfig; }) => string[]; type ConfigGroupPolicyWarningCollector = (params: Params) => string[]; type WarningCollector = (params: Params) => string[]; export declare function composeWarningCollectors(...collectors: Array | null | undefined>): WarningCollector; export declare function projectWarningCollector(project: (params: Params) => Projected, collector: WarningCollector): WarningCollector; export declare function projectConfigWarningCollector(collector: WarningCollector<{ cfg: OpenClawConfig; }>): WarningCollector; export declare function projectConfigAccountIdWarningCollector(collector: WarningCollector<{ cfg: OpenClawConfig; accountId?: string | null; }>): WarningCollector; export declare function projectAccountWarningCollector(collector: WarningCollector): WarningCollector; export declare function projectAccountConfigWarningCollector(projectCfg: (cfg: OpenClawConfig) => ProjectedCfg, collector: WarningCollector<{ account: ResolvedAccount; cfg: ProjectedCfg; }>): WarningCollector; export declare function createConditionalWarningCollector(...collectors: Array<(params: Params) => string | string[] | null | undefined | false>): WarningCollector; export declare function composeAccountWarningCollectors(baseCollector: WarningCollector, ...collectors: Array<(account: ResolvedAccount) => string | string[] | null | undefined | false>): WarningCollector; export declare function buildOpenGroupPolicyWarning(params: { surface: string; openBehavior: string; remediation: string; }): string; export declare function buildOpenGroupPolicyRestrictSendersWarning(params: { surface: string; openScope: string; groupPolicyPath: string; groupAllowFromPath: string; mentionGated?: boolean; }): string; export declare function buildOpenGroupPolicyNoRouteAllowlistWarning(params: { surface: string; routeAllowlistPath: string; routeScope: string; groupPolicyPath: string; groupAllowFromPath: string; mentionGated?: boolean; }): string; export declare function buildOpenGroupPolicyConfigureRouteAllowlistWarning(params: { surface: string; openScope: string; groupPolicyPath: string; routeAllowlistPath: string; mentionGated?: boolean; }): string; export declare function collectOpenGroupPolicyRestrictSendersWarnings(params: Parameters[0] & { groupPolicy: "open" | "allowlist" | "disabled"; }): string[]; export declare function collectAllowlistProviderRestrictSendersWarnings(params: { cfg: OpenClawConfig; providerConfigPresent: boolean; configuredGroupPolicy?: GroupPolicy | null; } & Omit[0], "groupPolicy">): string[]; /** Build an account-aware allowlist-provider warning collector for sender-restricted groups. */ export declare function createAllowlistProviderRestrictSendersWarningCollector(params: { providerConfigPresent: (cfg: OpenClawConfig) => 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. */ export declare function createOpenGroupPolicyRestrictSendersWarningCollector(params: { resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; defaultGroupPolicy?: GroupPolicy; } & Omit[0], "groupPolicy">): (account: ResolvedAccount) => string[]; export declare function collectAllowlistProviderGroupPolicyWarnings(params: { cfg: OpenClawConfig; providerConfigPresent: boolean; configuredGroupPolicy?: GroupPolicy | null; collect: GroupPolicyWarningCollector; }): string[]; /** Build a config-aware allowlist-provider warning collector from an arbitrary policy resolver. */ export declare function createAllowlistProviderGroupPolicyWarningCollector(params: { providerConfigPresent: (cfg: OpenClawConfig) => boolean; resolveGroupPolicy: (params: Params) => GroupPolicy | null | undefined; collect: (params: Params & { groupPolicy: GroupPolicy; }) => string[]; }): ConfigGroupPolicyWarningCollector; export declare function collectOpenProviderGroupPolicyWarnings(params: { cfg: OpenClawConfig; providerConfigPresent: boolean; configuredGroupPolicy?: GroupPolicy | null; collect: GroupPolicyWarningCollector; }): string[]; /** Build a config-aware open-provider warning collector from an arbitrary policy resolver. */ export declare function createOpenProviderGroupPolicyWarningCollector(params: { providerConfigPresent: (cfg: OpenClawConfig) => 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. */ export declare function createAllowlistProviderOpenWarningCollector(params: { providerConfigPresent: (cfg: OpenClawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; buildOpenWarning: Parameters[0]; }): AccountGroupPolicyWarningCollector; export 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. */ export declare function createAllowlistProviderRouteAllowlistWarningCollector(params: { providerConfigPresent: (cfg: OpenClawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; resolveRouteAllowlistConfigured: (account: ResolvedAccount) => boolean; restrictSenders: Parameters[0]; noRouteAllowlist: Parameters[0]; }): AccountGroupPolicyWarningCollector; export 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. */ export declare function createOpenProviderConfiguredRouteWarningCollector(params: { providerConfigPresent: (cfg: OpenClawConfig) => boolean; resolveGroupPolicy: (account: ResolvedAccount) => GroupPolicy | null | undefined; resolveRouteAllowlistConfigured: (account: ResolvedAccount) => boolean; configureRouteAllowlist: Parameters[0]; missingRouteAllowlist: Parameters[0]; }): AccountGroupPolicyWarningCollector; export {};