import { ComponentType } from 'react';
import { EditableText } from '@blueprintjs/core';
import { NoteData } from './types';
import { ErrorBoundary } from '@macrostrat/ui-components';
declare const NoteEditorContext: import('react').Context<{
    inEditMode: boolean;
}>;
interface NoteEditorProps {
    note: NoteData;
}
declare const NoteTextEditor: (props: NoteEditorProps) => import('react').ComponentElement<import('@blueprintjs/core').EditableTextProps, EditableText>;
interface NoteEditorProviderProps {
    inEditMode: boolean;
    noteEditor: ComponentType<NoteEditorProps>;
    onUpdateNote?: (n: NoteData) => void;
    onDeleteNote?: (n: NoteData) => void;
    onCreateNote?: Function;
    children?: React.ReactNode;
}
declare function NoteEditorProvider(props: NoteEditorProviderProps): import('react').FunctionComponentElement<import('react').ProviderProps<{
    inEditMode: boolean;
}>>;
declare function NoteEditor(props: any): import('react').ComponentElement<{
    description?: string;
    title?: string;
    fallback?: import('react').ReactNode;
    override?: boolean;
    onCatch?(error: Error, info: any): void;
}, ErrorBoundary> | null;
export type { NoteData };
export { NoteEditorProvider, NoteEditorContext, NoteTextEditor, NoteEditor };
