export type OnboardingStep = 'wallet' | 'defaults';
export interface ProviderInfo {
    configured: boolean;
    type?: 'api' | 'oauth' | 'wallet';
    label: string;
    supportsOAuth: boolean;
    supportsToken?: boolean;
    supportsGhImport?: boolean;
    custom?: boolean;
    modelCount: number;
    costRange?: {
        min: number;
        max: number;
    };
}
export interface AuthStatus {
    onboardingComplete: boolean;
    ottorouter: {
        configured: boolean;
        publicKey?: string;
    };
    providers: Record<string, ProviderInfo>;
    defaults: {
        agent: string;
        provider: string;
        model: string;
        toolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';
    };
}
interface OnboardingState {
    isOpen: boolean;
    currentStep: OnboardingStep;
    manageMode: boolean;
    isLoading: boolean;
    error: string | null;
    authStatus: AuthStatus | null;
    setOpen: (open: boolean) => void;
    setStep: (step: OnboardingStep) => void;
    setManageMode: (manageMode: boolean) => void;
    setLoading: (loading: boolean) => void;
    setError: (error: string | null) => void;
    setAuthStatus: (status: AuthStatus | null) => void;
    nextStep: () => void;
    prevStep: () => void;
    reset: () => void;
}
export declare const useOnboardingStore: import("zustand").UseBoundStore<import("zustand").StoreApi<OnboardingState>>;
export {};
//# sourceMappingURL=onboardingStore.d.ts.map