import { type ReactNode } from "react";
import { type ICatalogAttributeHierarchy, type ObjRef } from "@gooddata/sdk-model";
import { type EmptyParamCallback, type IAttributeData, type ICatalogAttributeData, type SaveOrUpdateCallback, type SetLoadingCallback } from "./types.js";
interface IAttributeHierarchyDialogProviderProps {
    initialAttributeRef?: ObjRef;
    editingAttributeHierarchy?: ICatalogAttributeHierarchy;
    onClose?: EmptyParamCallback;
    onSaveOrUpdateSuccess?: SaveOrUpdateCallback;
    onDeleteSuccess?: EmptyParamCallback;
    onAddAttributeClicked?: () => void;
    onCreateHierarchyClicked?: () => void;
    children: ReactNode;
}
export interface IAttributeHierarchyDialogProviderData {
    isEditing: boolean;
    isDirty: boolean;
    attributes: IAttributeData[];
    title: string;
    isLoading: boolean;
    setLoading: SetLoadingCallback;
    shouldDisplayDeleteConfirmation?: boolean;
    setDisplayDeleteConfirmation: (isDisplay: boolean) => void;
    onClose?: EmptyParamCallback;
    onUpdateTitle: (title: string) => void;
    onAddEmptyAttribute: (baseRowIndex: number) => void;
    onCompleteAttribute: (selectedItem: ICatalogAttributeData, rowIndex: number) => void;
    getValidAttributes: (rowIndex: number) => Promise<ICatalogAttributeData[]>;
    onDeleteAttribute: (rowIndex: number) => void;
    onSaveAttributeHierarchy: EmptyParamCallback;
    onDeleteAttributeHierarchy: (isDisplay: boolean) => void;
}
export declare const AttributeHierarchyDialogProviderContext: import("react").Context<IAttributeHierarchyDialogProviderData>;
export declare const useAttributeHierarchyDialog: () => IAttributeHierarchyDialogProviderData;
export declare function AttributeHierarchyDialogProvider({ initialAttributeRef, editingAttributeHierarchy, children, onClose, onSaveOrUpdateSuccess, onDeleteSuccess, onAddAttributeClicked, onCreateHierarchyClicked }: IAttributeHierarchyDialogProviderProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=AttributeHierarchyDialogProvider.d.ts.map