import type { OpenClawConfig } from "../../config/types.openclaw.js"; import type { ChannelAccountSnapshot } from "./types.core.js"; export declare function createAccountListHelpers(channelKey: string, options?: { normalizeAccountId?: (id: string) => string; allowUnlistedDefaultAccount?: boolean; }): { listConfiguredAccountIds: (cfg: OpenClawConfig) => string[]; listAccountIds: (cfg: OpenClawConfig) => string[]; resolveDefaultAccountId: (cfg: OpenClawConfig) => string; }; export declare function listCombinedAccountIds(params: { configuredAccountIds: Iterable; additionalAccountIds?: Iterable; implicitAccountId?: string | undefined; fallbackAccountIdWhenEmpty?: string | undefined; }): string[]; export declare function resolveListedDefaultAccountId(params: { accountIds: readonly string[]; configuredDefaultAccountId?: string | undefined; allowUnlistedDefaultAccount?: boolean; ambiguousFallbackAccountId?: string | undefined; normalizeListedAccountId?: ((accountId: string) => string) | undefined; }): string; export declare function mergeAccountConfig>(params: { channelConfig: TConfig | undefined; accountConfig: Partial | undefined; omitKeys?: string[]; nestedObjectKeys?: string[]; }): TConfig; export declare function resolveMergedAccountConfig>(params: { channelConfig: TConfig | undefined; accounts: Record> | undefined; accountId: string; omitKeys?: string[]; normalizeAccountId?: (accountId: string) => string; nestedObjectKeys?: string[]; }): TConfig; type AccountSnapshotInput = { accountId?: string | null; enabled?: boolean | null; name?: string | null | undefined; }; export declare function describeAccountSnapshot(params: { account: AccountSnapshotInput; configured?: boolean | undefined; extra?: Record | undefined; }): ChannelAccountSnapshot; export declare function describeWebhookAccountSnapshot(params: { account: AccountSnapshotInput; configured?: boolean | undefined; mode?: string | undefined; extra?: Record | undefined; }): ChannelAccountSnapshot; export {};