import type { FC } from 'react';
import type { OnboardingProgress, OnboardingResult } from '../types.js';
import type { OnboardingBeforeExit } from './exit.js';
interface AppProps {
    /**
     * Capgo lookup key (progress files, saved credentials, Capgo SaaS build
     * API). Resolved by `getAppId()`, which prefers
     * `config.plugins.CapacitorUpdater.appId` over `config.appId` so dev-tunnel
     * sandboxes can override the Capgo-side identifier without renaming the
     * iOS bundle. Do NOT use for Apple-side operations — see
     * `iosBundleIdInitial`.
     */
    appId: string;
    /**
     * Default value for the iOS bundle ID used for Apple-side operations
     * (cert lookup, profile filtering, ensureBundleId, createProfile, and the
     * provisioning_map key). Sourced from `config.appId` directly — what
     * `cap sync` writes into project.pbxproj's PRODUCT_BUNDLE_IDENTIFIER.
     * When pbxproj's Release id and config.appId disagree, the wizard adopts the
     * authoritative Release id (verify-app confirms it remotely). command.ts
     * falls back to `appId` if config.appId is missing, so this prop is always a
     * valid string.
     */
    iosBundleIdInitial: string;
    initialProgress: OnboardingProgress | null;
    /** Resolved iOS directory from capacitor.config (defaults to 'ios') */
    iosDir: string;
    /**
     * Whether guided ASC-key creation may be offered: macOS + the signed helper
     * installed + its Developer-ID signature/team verified (computed once in
     * command.ts via probeGuidedHelper). Gates every "create one for me" / "do
     * you already have a .p8?" branch — when false (not installed, wrong
     * signature, wrong team, or non-macOS) the user goes straight to the manual
     * .p8 instructions, exactly as before the helper existed and as on Linux.
     */
    guidedHelperUsable: boolean;
    /** Optional Capgo API key passed via -a/--apikey flag; takes precedence over saved key */
    apikey?: string;
    supaHost?: string;
    /** Correlation id for this onboarding run; emitted as `journey_id` on every analytics event. */
    journeyId: string;
    /** Reports the current step to the shell on every transition, so the caller can
     *  record where the user dropped off for the quit event. */
    onStep?: (step: string) => void;
    /**
     * Reports the wizard outcome to the shell when it reaches build-complete, so
     *  the caller prints an accurate post-exit message + durable summary instead of
     *  always claiming success. Never fires on cancel/missing-platform exits.
     */
    onResult?: (result: OnboardingResult) => void;
    /** Awaited immediately before Ink exits so replay can capture the alt-screen frame. */
    onBeforeExit?: OnboardingBeforeExit;
}
declare const OnboardingApp: FC<AppProps>;
export default OnboardingApp;
