import { Separator, type Theme } from '@inquirer/core';
import type { PartialDeep, Prompt } from '@inquirer/type';
import { ChainName, DeployedOwnableConfig } from '@hyperlane-xyz/sdk';
import { CommandContext } from '../context/types.js';
export declare function detectAndConfirmOrPrompt(detect: () => Promise<string | undefined>, prompt: string, label: string, source?: string): Promise<string>;
export declare function inputWithInfo({ message, info, defaultAnswer, }: {
    message: string;
    info?: string;
    defaultAnswer?: string;
}): Promise<string>;
/**
 * Prompts the user to optionally set an existing ProxyAdmin contract address to be used in a WarpToken deployment.
 */
export declare function setProxyAdminConfig(context: CommandContext, chain: ChainName): Promise<DeployedOwnableConfig | undefined>;
type SearchableCheckboxTheme = {
    icon: {
        checked: string;
        unchecked: string;
        cursor: string;
    };
    style: {
        disabledChoice: (text: string) => string;
        renderSelectedChoices: <T>(selectedChoices: ReadonlyArray<NormalizedChoice<T>>, allChoices: ReadonlyArray<NormalizedChoice<T> | Separator>) => string;
        description: (text: string) => string;
        helpTip: (text: string) => string;
    };
    helpMode: 'always' | 'never' | 'auto';
};
export type SearchableCheckboxChoice<Value> = {
    value: Value;
    name?: string;
    description?: string;
    short?: string;
    disabled?: boolean | string;
    checked?: boolean;
};
type NormalizedChoice<Value> = Required<Omit<SearchableCheckboxChoice<Value>, 'description'>> & {
    description?: string;
};
type SearchableCheckboxConfig<Value> = {
    message: string;
    prefix?: string;
    pageSize?: number;
    instructions?: string;
    choices: ReadonlyArray<SearchableCheckboxChoice<Value>>;
    loop?: boolean;
    required?: boolean;
    selectableOptionsSeparator?: Separator;
    validate?: (choices: ReadonlyArray<SearchableCheckboxChoice<Value>>) => boolean | string | Promise<string | boolean>;
    theme?: PartialDeep<Theme<SearchableCheckboxTheme>>;
};
export declare const searchableCheckBox: Prompt<any, SearchableCheckboxConfig<any>>;
export {};
//# sourceMappingURL=input.d.ts.map