import { Separator, type Theme } from '@inquirer/core';
import type { PartialDeep } from '@inquirer/type';
type SelectTheme = {
    icon: {
        cursor: string;
    };
    style: {
        disabled: (text: string) => string;
    };
};
type Action<ActionValue> = {
    value: ActionValue;
    name: string;
    key: string;
};
type Choice<Value> = {
    value: Value;
    name?: string;
    description?: string;
    disabled?: boolean | string;
    type?: never;
};
type ActionSelectResult<ActionValue, Value> = {
    action?: ActionValue;
    answer: Value;
};
declare const _default: <ActionValue, Value>(config: {
    message: string;
    actions: readonly Action<ActionValue>[];
    choices: readonly (Separator | Choice<Value>)[];
    pageSize?: number | undefined;
    loop?: boolean | undefined;
    default?: unknown;
    theme?: PartialDeep<Theme<SelectTheme>> | undefined;
}, context?: import("@inquirer/type").Context) => Promise<ActionSelectResult<ActionValue, Value>> & {
    cancel: () => void;
};
export default _default;
export { Separator };
