import { default as React, JSX } from 'react';
import { CrateManagerType, ProfileManagerType } from './types';
type RoCrateApprovalDecision = "accept" | "reject" | "manual-edit";
export interface RecrateCrateBuilderProps {
    crate?: CrateManagerType["crate"];
    roCrateApproval?: any;
    profile?: ProfileManagerType["profile"];
    entityId?: string;
    lookup?: any;
    enableContextEditor?: boolean;
    enableCratePreview?: boolean;
    enableBrowseEntities?: boolean;
    enableTemplateSave?: boolean;
    enableBulkAdd?: boolean;
    enableProfileActions?: boolean;
    enableReverseLinkBrowser?: boolean;
    enableUrlMarkup?: boolean;
    enableEntityTimestamps?: boolean;
    purgeUnlinkedEntities?: boolean;
    readonly?: boolean;
    webComponent?: boolean;
    tabLocation?: string;
    showControls?: boolean;
    language?: string;
    resetTabOnEntityChange?: boolean;
    resetTabOnProfileChange?: boolean;
    quickSettingsVisible?: boolean;
    stateScopeKey?: string;
    onReady?: () => void;
    onError?: (errors: any) => void;
    onWarning?: (warnings: any) => void;
    onNavigation?: (info: {
        "@id": string;
        "@type": string[];
        name: string;
    }) => void;
    onSaveCrate?: (saveData: {
        crate: any;
        entityId?: string;
    }) => void;
    onSaveRoCrateApproval?: (saveData: {
        roCrateApproval: any;
        entityId: string;
        propertyName: string;
        decision: RoCrateApprovalDecision;
        approvalRecords: any[];
        value?: any;
    }) => void;
    onSaveEntityTemplate?: (entity: any) => void;
    onQuickSettingsVisibleChange?: (visible: boolean) => void;
    onAddNewProfileRequest?: (requested: boolean) => void;
    onRemoveProfile?: (payload: any) => void;
}
export declare const ProfileManagerContext: React.Context<any>;
export declare const CrateManagerContext: React.Context<any>;
export declare const RoCrateApprovalContext: React.Context<any>;
export declare const LookupsContext: React.Context<any>;
export declare function RecrateCrateBuilder(props: RecrateCrateBuilderProps): JSX.Element;
export default RecrateCrateBuilder;
