import type * as commander from 'commander';
import type { Action, JSONObject } from '@dynatrace/openkit-js';
import type { CliFlagOptions, ResolvedCliOptions } from './utils/config/cli-options';
export interface BootstrapOptions {
    program: commander.OptionValues;
    commandName: string;
    headerText: string;
    run: (options: ResolvedCliOptions, rootAction?: Action) => Promise<void>;
    argsConfig?: Partial<CliFlagOptions> & Record<string, any>;
    skipDoneMessage?: boolean;
    /** When true, treat this invocation as a development run (affects defaults) */
    isDev?: boolean;
    /** When true, start the parallelized process of gathering outdated libraries to be shown later */
    startPackageVersionCheck?: boolean;
    beforeConfigFreeze?: (options: ResolvedCliOptions) => Promise<ResolvedCliOptions>;
    onInitBizEventPayload?: (options: ResolvedCliOptions) => Promise<JSONObject> | JSONObject;
}
/**
 * Bootstrap the CLI command.
 * Handles common initialization steps including:
 * - Logger initialization
 * - Config loading and merging
 * - Telemetry initialization
 * - OpenKit action creation
 * - Reporting command args
 *
 * @param options - Bootstrap options containing program options, command name, and header text.
 * @returns Object containing the resolved options and the root OpenKit action.
 */
export declare function bootstrap(options: BootstrapOptions): Promise<void>;
