import { type Middlewares } from '../../src/core/middlewares.js';
import { type ArgvStruct } from '../../src/types/aliases.js';
import { type Argv } from './argv-wrapper.js';
import { type ConfigManager } from '../../src/core/config-manager.js';
import { type SoloLogger } from '../../src/core/logging/solo-logger.js';
import { type K8Factory } from '../../src/integration/kube/k8-factory.js';
import { type RemoteConfigRuntimeStateApi } from '../../src/business/runtime-state/api/remote-config-runtime-state-api.js';
import { ListrContext } from 'listr2';
export declare class CommandInvoker {
    private readonly middlewares?;
    private readonly configManager?;
    private readonly remoteConfig?;
    private readonly k8Factory?;
    private readonly logger?;
    constructor(middlewares?: Middlewares, configManager?: ConfigManager, remoteConfig?: RemoteConfigRuntimeStateApi, k8Factory?: K8Factory, logger?: SoloLogger);
    invoke({ callback, argv, command, subcommand, }: {
        callback: (argv: ArgvStruct) => Promise<boolean | ListrContext>;
        argv: Argv;
        command: string;
        subcommand?: string;
    }): Promise<void>;
    private updateConfigManager;
}
