/** * `useOnboarding` — client hook for the framework onboarding system. * * Fetches `/_agent-native/onboarding/steps` on mount, after any user-initiated * mutation (complete / dismiss / reopen), and when the tab regains focus. * No polling — onboarding state changes are user-driven, so a poll loop just * burns the DB and amplifies transient network errors. */ import type { OnboardingMethod, OnboardingStepStatus } from "../../onboarding/types.js"; export interface UseOnboardingResult { steps: OnboardingStepStatus[]; loading: boolean; error: string | null; /** Active step = first required+incomplete, else first incomplete. */ currentStepId: string | null; completeCount: number; totalCount: number; /** True when every required step is complete. */ allComplete: boolean; /** User dismissed the banner via the X button. */ dismissed: boolean; /** Refetch steps immediately. */ refresh: () => Promise; /** Mark a step complete via the server-side override. */ complete: (id: string) => Promise; /** Dismiss the banner permanently (until server-side reset). */ dismiss: () => Promise; /** Re-open the panel after dismissal. */ reopen: () => Promise; } export declare function useOnboarding(options?: { preview?: boolean; }): UseOnboardingResult; /** Re-export type for convenience. */ export type { OnboardingMethod, OnboardingStepStatus }; //# sourceMappingURL=use-onboarding.d.ts.map