import { type ReactNode } from "react";
import { type DashboardTextAttributeFilter, type FilterContextItem, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type ObjRef } from "@gooddata/sdk-model";
type TTargetDashboardFiltersCacheStatus = "loading" | "success" | "error";
interface ITargetDashboardFiltersCacheEntry {
    status: TTargetDashboardFiltersCacheStatus;
    targetDashboardFilters: FilterContextItem[];
    targetDashboardAttributeFilters: IDashboardAttributeFilter[];
    targetDashboardTextAttributeFilters: DashboardTextAttributeFilter[];
    targetDashboardAttributeFilterConfigs: IDashboardAttributeFilterConfig[];
}
interface ITargetDashboardFiltersContextValue {
    cache: Record<string, ITargetDashboardFiltersCacheEntry>;
    fetchTargetDashboardFilters: (dashboardRef: ObjRef, dashboardTab?: string) => void;
}
interface ITargetDashboardFiltersProviderProps {
    children: ReactNode;
}
export declare function getTargetDashboardFiltersCacheKey(dashboardRef: ObjRef, dashboardTab?: string): string;
/**
 * @internal
 */
export declare function TargetDashboardFiltersProvider({ children }: ITargetDashboardFiltersProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useTargetDashboardFiltersContext(): ITargetDashboardFiltersContextValue;
export {};
//# sourceMappingURL=TargetDashboardFiltersContext.d.ts.map