import { type Mock } from "vitest"; import { buildChannelSetupWizardAdapterFromSetupWizard } from "../channels/plugins/setup-wizard.js"; import type { ChannelPlugin } from "../channels/plugins/types.js"; import type { WizardPrompter } from "../wizard/prompts.js"; export type { WizardPrompter } from "../wizard/prompts.js"; type UnknownMock = Mock<(...args: unknown[]) => unknown>; type AsyncUnknownMock = Mock<(...args: unknown[]) => Promise>; type QueuedWizardPrompter = { intro: AsyncUnknownMock; outro: AsyncUnknownMock; note: AsyncUnknownMock; plain: AsyncUnknownMock; select: AsyncUnknownMock; multiselect: AsyncUnknownMock; text: AsyncUnknownMock; confirm: AsyncUnknownMock; progress: Mock<() => { update: UnknownMock; stop: UnknownMock; }>; prompter: WizardPrompter; }; export declare function selectFirstWizardOption(params: { options: Array<{ value: T; }>; }): Promise; export declare function createTestWizardPrompter(overrides?: Partial): WizardPrompter; export declare function createQueuedWizardPrompter(params?: { selectValues?: string[]; textValues?: string[]; confirmValues?: boolean[]; }): QueuedWizardPrompter; type SetupWizardAdapterParams = Parameters[0]; type SetupWizardCredentialValues = Record; type SetupWizardTestPlugin = { id: string; setupWizard?: ChannelPlugin["setupWizard"]; config: Record; } & Record; export declare function createSetupWizardAdapter(params: SetupWizardAdapterParams): import("openclaw/plugin-sdk/setup").ChannelSetupWizardAdapter; export declare function createPluginSetupWizardAdapter(plugin: SetupWizardTestPlugin): import("openclaw/plugin-sdk/setup").ChannelSetupWizardAdapter; export declare function createPluginSetupWizardConfigure(plugin: SetupWizardTestPlugin): (ctx: import("../channels/plugins/setup-wizard-types.ts").ChannelSetupConfigureContext) => Promise; export declare function createPluginSetupWizardStatus(plugin: SetupWizardTestPlugin): (ctx: import("../channels/plugins/setup-wizard-types.ts").ChannelSetupStatusContext) => Promise; export declare function runSetupWizardConfigure, TAccountOverrides extends Record, TRuntime, TResult>(params: { configure: (args: { cfg: TCfg; runtime: TRuntime; prompter: WizardPrompter; options: TOptions; accountOverrides: TAccountOverrides; shouldPromptAccountIds: boolean; forceAllowFrom: boolean; }) => Promise; cfg?: TCfg; runtime?: TRuntime; prompter: WizardPrompter; options?: TOptions; accountOverrides?: TAccountOverrides; shouldPromptAccountIds?: boolean; forceAllowFrom?: boolean; }): Promise; export declare function runSetupWizardPrepare, TRuntime, TResult>(params: { prepare?: (args: { cfg: TCfg; accountId: string; credentialValues: Record; runtime: TRuntime; prompter: WizardPrompter; options?: TOptions; }) => Promise | TResult; cfg?: TCfg; accountId?: string; credentialValues?: Record; runtime?: TRuntime; prompter?: WizardPrompter; options?: TOptions; }): Promise; export declare function runSetupWizardFinalize, TRuntime, TResult>(params: { finalize?: (args: { cfg: TCfg; accountId: string; credentialValues: Record; runtime: TRuntime; prompter: WizardPrompter; options?: TOptions; forceAllowFrom: boolean; }) => Promise | TResult; cfg?: TCfg; accountId?: string; credentialValues?: Record; runtime?: TRuntime; prompter?: WizardPrompter; options?: TOptions; forceAllowFrom?: boolean; }): Promise; export declare function promptSetupWizardAllowFrom(params: { promptAllowFrom?: (args: { cfg: TCfg; prompter: WizardPrompter; accountId: string; }) => Promise | TResult; cfg?: TCfg; prompter?: WizardPrompter; accountId?: string; }): Promise; export declare function resolveSetupWizardAllowFromEntries(params: { resolveEntries?: (args: { cfg: TCfg; accountId: string; credentialValues: Record; entries: string[]; }) => Promise | TResult; entries: string[]; cfg?: TCfg; accountId?: string; credentialValues?: SetupWizardCredentialValues; }): Promise; export declare function resolveSetupWizardGroupAllowlist(params: { resolveAllowlist?: (args: { cfg: TCfg; accountId: string; credentialValues: Record; entries: string[]; prompter: Pick; }) => Promise | TResult; entries: string[]; cfg?: TCfg; accountId?: string; credentialValues?: SetupWizardCredentialValues; prompter?: Pick; }): Promise;