import type { OpenClawConfig } from "../config/types.openclaw.js"; import { type SecretRef } from "../config/types.secrets.js"; import type { SecretRefResolveCache } from "./resolve-types.js"; export type SecretResolverWarningCode = "SECRETS_REF_OVERRIDES_PLAINTEXT" | "SECRETS_REF_IGNORED_INACTIVE_SURFACE" | "WEB_SEARCH_PROVIDER_INVALID_AUTODETECT" | "WEB_SEARCH_AUTODETECT_SELECTED" | "WEB_SEARCH_KEY_UNRESOLVED_FALLBACK_USED" | "WEB_SEARCH_KEY_UNRESOLVED_NO_FALLBACK" | "WEB_FETCH_PROVIDER_INVALID_AUTODETECT" | "WEB_FETCH_AUTODETECT_SELECTED" | "WEB_FETCH_PROVIDER_KEY_UNRESOLVED_FALLBACK_USED" | "WEB_FETCH_PROVIDER_KEY_UNRESOLVED_NO_FALLBACK"; export type SecretResolverWarning = { code: SecretResolverWarningCode; path: string; message: string; }; export type SecretAssignment = { ref: SecretRef; path: string; expected: "string" | "string-or-object"; apply: (value: unknown) => void; }; export type ResolverContext = { sourceConfig: OpenClawConfig; env: NodeJS.ProcessEnv; cache: SecretRefResolveCache; warnings: SecretResolverWarning[]; warningKeys: Set; assignments: SecretAssignment[]; }; export type SecretDefaults = NonNullable["defaults"]; export type { SecretRefResolveCache } from "./resolve-types.js"; export declare function createResolverContext(params: { sourceConfig: OpenClawConfig; env: NodeJS.ProcessEnv; }): ResolverContext; export declare function pushAssignment(context: ResolverContext, assignment: SecretAssignment): void; export declare function pushWarning(context: ResolverContext, warning: SecretResolverWarning): void; export declare function pushInactiveSurfaceWarning(params: { context: ResolverContext; path: string; details?: string; }): void; export declare function collectSecretInputAssignment(params: { value: unknown; path: string; expected: SecretAssignment["expected"]; defaults: SecretDefaults | undefined; context: ResolverContext; active?: boolean; inactiveReason?: string; apply: (value: unknown) => void; }): void; export declare function applyResolvedAssignments(params: { assignments: SecretAssignment[]; resolved: Map; }): void; export declare function hasOwnProperty(record: Record, key: string): boolean; export declare function isEnabledFlag(value: unknown): boolean; export declare function isChannelAccountEffectivelyEnabled(channel: Record, account: Record): boolean;