import type { ComponentType } from "react"; export interface FirstRunOnboardingExtensionProps { onComplete: () => void | boolean | Promise; onSkip: () => void; onStepChange?: (stepIndex: number) => void; } export interface FirstRunOnboardingExtension { id: string; component: ComponentType; placement?: "before-setup" | "after-setup"; stepCount?: number; /** * True when the extension's steps offer a skip. Step events carry it as * `optional`, so Analytics funnels don't count a skip as drop-off. */ optional?: boolean; } export declare function registerFirstRunOnboardingExtension(extension: FirstRunOnboardingExtension): void; export declare function listFirstRunOnboardingExtensions(): readonly FirstRunOnboardingExtension[];