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; onDeleteAttribute: (rowIndex: number) => void; onSaveAttributeHierarchy: EmptyParamCallback; onDeleteAttributeHierarchy: (isDisplay: boolean) => void; } export declare const AttributeHierarchyDialogProviderContext: import("react").Context; 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