/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { SettingsService, type ProviderRuntimeContext, type ProviderManager } from '@vybestack/llxprt-code-core';
import type { OAuthManager } from '../auth/oauth-manager.js';
export interface BootstrapProfileArgs {
    profileName: string | null;
    profileJson: string | null;
    providerOverride: string | null;
    modelOverride: string | null;
    keyOverride: string | null;
    keyfileOverride: string | null;
    baseurlOverride: string | null;
    setOverrides: string[] | null;
}
export interface RuntimeBootstrapMetadata {
    settingsService?: SettingsService;
    config?: ProviderRuntimeContext['config'];
    oauthManager?: OAuthManager;
    runtimeId?: string;
    metadata?: Record<string, unknown>;
}
export interface ParsedBootstrapArgs {
    bootstrapArgs: BootstrapProfileArgs;
    runtimeMetadata: RuntimeBootstrapMetadata;
}
export interface BootstrapRuntimeState {
    runtime: ProviderRuntimeContext;
    providerManager: ProviderManager;
    oauthManager?: OAuthManager;
}
export interface ProfileApplicationResult {
    providerName: string;
    modelName: string;
    baseUrl?: string;
    warnings: string[];
    error?: string;
}
export interface BootstrapResult {
    runtime: ProviderRuntimeContext;
    providerManager: ProviderManager;
    oauthManager?: OAuthManager;
    bootstrapArgs: BootstrapProfileArgs;
    profile: ProfileApplicationResult;
}
/**
 * @plan PLAN-20251020-STATELESSPROVIDER3.P06
 * @requirement REQ-SP3-001
 * @pseudocode bootstrap-order.md lines 1-9
 */
export declare function parseBootstrapArgs(): ParsedBootstrapArgs;
export declare function parseBootstrapArgs(args: BootstrapProfileArgs, metadata: RuntimeBootstrapMetadata): ParsedBootstrapArgs;
/**
 * @plan PLAN-20251020-STATELESSPROVIDER3.P06
 * @requirement REQ-SP3-001
 * @pseudocode bootstrap-order.md lines 1-9
 */
export declare function prepareRuntimeForProfile(parsed: ParsedBootstrapArgs): Promise<BootstrapRuntimeState>;
/**
 * @plan PLAN-20251118-ISSUE533.P07
 * @requirement REQ-PROF-002.1
 */
export declare function parseInlineProfile(jsonString: string): ProfileApplicationResult;
/**
 * @plan PLAN-20251020-STATELESSPROVIDER3.P06
 * @plan PLAN-20251118-ISSUE533.P10
 * @requirement REQ-SP3-001
 * @requirement REQ-INT-001.1
 * @requirement REQ-INT-002.1
 * @pseudocode bootstrap-order.md lines 1-9
 */
export declare function createBootstrapResult(bootstrapArgs: BootstrapProfileArgs, runtimeMetadata: RuntimeBootstrapMetadata): ProfileApplicationResult;
export declare function createBootstrapResult(input: {
    runtime: BootstrapRuntimeState['runtime'];
    providerManager: BootstrapRuntimeState['providerManager'];
    oauthManager?: BootstrapRuntimeState['oauthManager'];
    bootstrapArgs: BootstrapProfileArgs;
    profileApplication: ProfileApplicationResult;
}): BootstrapResult;
