import { ElementIri, ElementModel } from '../../data/model';
import { Element } from '../../diagram/elements';
/**
 * Graph authoring status for an entity.
 */
export interface AuthoredEntityContext {
    /**
     * The new IRI if entity IRI has changed in the entity data,
     * otherwise `undefined`.
     */
    editedIri?: ElementIri;
    /**
     * Whether its allowed to change the entity data.
     */
    canEdit: boolean | undefined;
    /**
     * Whether its allowed to delete the entity.
     */
    canDelete: boolean | undefined;
    /**
     * Handler to begin editing the entity data from the UI.
     */
    onEdit: (target: Element) => void;
    /**
     * Handler to delete the entity.
     */
    onDelete: () => void;
}
/**
 * React hook to load entity authoring status for the graph authoring.
 *
 * @category Hooks
 */
export declare function useAuthoredEntity(data: ElementModel | undefined, shouldLoad: boolean): AuthoredEntityContext;
//# sourceMappingURL=authoredEntity.d.ts.map