import type { Args } from "./cli/args.ts";
import type { AppMode } from "./main-app-mode.ts";
import type { ScopedModel } from "./core/model-resolver-types.ts";
import type { ProjectTrustStore } from "./core/trust-manager.ts";
export interface ComputeDeferExtensionsInput {
    appMode: AppMode;
    stdinIsTTY: boolean;
    hasSessionStartEvent: boolean;
    help?: boolean;
    listModels?: Args["listModels"];
    shouldResolveProjectTrust: boolean;
    storedProjectTrust: boolean | null;
    resolvedExtensionPathCount: number;
    resolvedResourcePathCount: number;
    hasSystemPromptInput: boolean;
    unknownFlagCount: number;
    provider?: string;
    model?: string;
}
export interface ComputeStartupInputCaptureInput {
    appMode: AppMode;
    stdinIsTTY: boolean;
    parsed: Pick<Args, "help" | "listModels" | "projectTrustOverride" | "systemPrompt" | "appendSystemPrompt" | "unknownFlags" | "provider" | "model" | "resume" | "session">;
    sessionCwd: string;
    projectTrustStore: Pick<ProjectTrustStore, "get">;
    resolvedExtensionPathCount: number;
    resolvedResourcePathCount: number;
    deprecationWarningCount: number;
}
export declare function computeStartupInputCaptureEnabled(input: ComputeStartupInputCaptureInput): boolean;
export declare function computeDeferExtensions(input: ComputeDeferExtensionsInput): boolean;
export declare function formatScopedModelList(scopedModels: ScopedModel[]): string;
//# sourceMappingURL=main-deferred-startup.d.ts.map