/**
 * Dashboard State Management Hook
 *
 * Manages dashboard state including active layout, widget states,
 * and widget registry initialization.
 *
 * @since v1.64.0
 */
import type { Tier } from '../../core/types/auth.js';
import { type DashboardConfig, type DashboardLayout, type RegisteredWidget, type WidgetState } from '../widgets/index.js';
export interface UseDashboardOptions {
    /** User's tier */
    tier?: Tier;
    /** Initial layout ID */
    initialLayoutId?: string;
}
export interface UseDashboardResult {
    /** Dashboard configuration */
    config: DashboardConfig;
    /** Active layout */
    activeLayout: DashboardLayout | null;
    /** All available layouts for user's tier */
    availableLayouts: DashboardLayout[];
    /** Widget states */
    widgetStates: Record<string, Partial<WidgetState>>;
    /** All registered widgets */
    widgets: RegisteredWidget[];
    /** Widgets available for user's tier */
    availableWidgets: RegisteredWidget[];
    /** Loading state */
    loading: boolean;
    /** Error message */
    error: string | null;
    /** Whether registry is initialized */
    initialized: boolean;
    /** Change active layout */
    setActiveLayout: (layoutId: string) => void;
    /** Update widget state */
    updateWidgetState: (widgetId: string, state: Partial<WidgetState>) => void;
    /** Refresh a widget */
    refreshWidget: (widgetId: string) => Promise<void>;
    /** Refresh all widgets */
    refreshAll: () => Promise<void>;
    /** Reset to default config */
    resetConfig: () => void;
}
/**
 * Hook for managing dashboard state
 */
export declare function useDashboard(options?: UseDashboardOptions): UseDashboardResult;
export default useDashboard;
//# sourceMappingURL=useDashboard.d.ts.map