/**
 * Streamlined prompt flow for init command
 *
 * Orchestrates the minimal set of questions needed:
 * 1. Provider auto-detect → confirm/prompt if not found
 * 2. Credentials auto-detect → prompt if not found
 * 3. Multi-repo expansion (only for org-level providers like ADO)
 * 4. Tracker auto-suggest from provider → confirm/select
 * 5. Tracker credentials (only if tracker differs from provider)
 *
 * No greenfield/brownfield question — handled by isGreenfield() post-hoc.
 * No mono/multi-repo taxonomy — emerges from "add more repos?" context.
 *
 * Part of 0200-init-two-phase-redesign (T-004)
 */
import type { ProviderInfo } from './provider-detection.js';
export interface TrackerInfo {
    type: 'github-issues' | 'jira' | 'ado-boards' | 'none';
    name: string;
}
export interface PromptFlowContext {
    targetDir: string;
    language: string;
    isCI: boolean;
    existingConfig?: Record<string, any>;
}
export interface PromptFlowResult {
    provider: ProviderInfo | null;
    credentials: string | null;
    tracker: TrackerInfo;
    trackerCredentials?: Record<string, string>;
    additionalRepos: string[];
}
export interface PromptCallbacks {
    confirmTracker(suggested: TrackerInfo): Promise<boolean>;
    selectTracker(): Promise<TrackerInfo>;
    promptCredentials(providerType: string): Promise<string>;
    promptTrackerCredentials(trackerType: string): Promise<Record<string, string>>;
    confirmAddRepos(org: string): Promise<boolean>;
    selectRepos(org: string, providerType: string): Promise<string[]>;
    selectProvider(): Promise<ProviderInfo | null>;
}
export interface PromptFlowDeps {
    detectProvider(targetDir: string): ProviderInfo | null;
    detectCredentials(targetDir: string, provider: string): string | null;
    prompts: PromptCallbacks;
}
/**
 * Suggest a tracker based on the detected provider.
 */
export declare function suggestTracker(provider: ProviderInfo | null): TrackerInfo;
/**
 * Run the streamlined prompt flow.
 *
 * In interactive mode, asks only the minimal questions needed.
 * In CI mode, auto-detects everything and skips all prompts.
 */
export declare function runPromptFlow(ctx: PromptFlowContext, deps: PromptFlowDeps): Promise<PromptFlowResult>;
//# sourceMappingURL=prompt-flow.d.ts.map