export type StepKind = 'auto' | 'human_gate' | 'choice' | 'done' | 'error' | 'info';
export type OnboardingPhase = 'preflight' | 'app' | 'credentials' | 'build' | 'done';
export type Platform = 'ios' | 'android';
export interface ChoiceOption {
    value: string;
    label?: string;
    note?: string;
}
export interface CollectField {
    field: string;
    desc: string;
}
export interface NextAction {
    /** The exact tool to call next. */
    tool: string;
    /** Argument hint for the model. */
    with?: Record<string, unknown>;
    /** A literal, copy-pasteable example call the model can pattern-match. */
    call?: string;
    /** Plain-English directive. */
    instruction: string;
}
export interface NextStepResult {
    onboarding: 'capgo-builder';
    phase: OnboardingPhase;
    /** Granular step name (reuses OnboardingStep vocabulary where applicable). */
    state: string;
    platform?: Platform;
    /** 0–100. */
    progress: number;
    kind: StepKind;
    summary: string;
    /** Human-facing journey overview; informational, not an execution list. */
    roadmap?: string[];
    context?: Record<string, unknown>;
    /** Present when kind === 'choice'. */
    options?: ChoiceOption[];
    /** Present when kind === 'human_gate'. */
    human?: {
        instruction: string;
        resourceUri?: string;
    };
    /** Present when kind === 'human_gate': what to bring back. */
    collect?: CollectField[];
    next?: NextAction;
    /** Rules of engagement; included on the first result of a session. */
    rules?: string[];
}
export declare const ONBOARDING_RULES: string[];
/** Render a result into MCP text content: imperative directive first, structured data last. */
export declare function renderResult(result: NextStepResult): string;
