import type { ContentByNavId, DashboardContentFetchers, DashboardNavItemId, DashboardTabContentLoadErrorInfo } from "./dashboardTabModel";
type TabState<T> = {
    status: "idle";
} | {
    status: "loading";
} | {
    status: "success";
    data: T;
} | {
    status: "error";
    error: Error;
};
export type UseDashboardTabContentResult<T> = TabState<T> & {
    refetch: () => void;
    loadGeneration: number;
};
export type UseDashboardTabContentOptions = {
    fetchers: DashboardContentFetchers;
    onLoadError?: (info: DashboardTabContentLoadErrorInfo) => void;
};
export declare function useDashboardTabContent<K extends DashboardNavItemId>(navItemId: K, options: UseDashboardTabContentOptions): UseDashboardTabContentResult<ContentByNavId[K]>;
export {};
