import { ComponentType, ReactNode } from 'react';
import { NoteData } from './types';
import { NoteEditor, NoteTextEditor, NoteEditorContext } from './editor';
import { NodeConnectorOptions } from './connector';
export * from './types';
interface NoteComponentProps {
    visibility: string;
    note: NoteData;
    onClick: Function;
}
declare function NoteComponent(props: NoteComponentProps): import('react').ReactElement<{
    style: {
        visibility: string;
    };
    onClick: Function;
}, string | import('react').JSXElementConstructor<any>>;
interface NotesColumnBaseProps extends NodeConnectorOptions {
    width?: number;
    paddingLeft?: number;
    transform?: string;
    notes?: NoteData[];
    noteComponent?: ComponentType<any>;
    onClickNote?: (note: NoteData) => void;
    children?: ReactNode;
    forceOptions?: object;
}
interface EditableNotesColumnProps extends NotesColumnBaseProps {
    inEditMode?: boolean;
    onUpdateNote?: (n: NoteData) => void;
    onDeleteNote?: (n: NoteData) => void;
    onCreateNote?: Function;
    noteEditor?: ComponentType<any>;
    allowPositionEditing?: boolean;
}
interface FocusedNotesColumnProps extends NotesColumnBaseProps {
    focusedNote?: NoteData | null;
    onFocusNote?: (note: NoteData | null) => void;
    focusedNoteComponent?: ComponentType<any>;
}
declare function StaticNotesColumn(props: NotesColumnBaseProps): import('react').DetailedReactHTMLElement<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
declare function NotesColumn(props: NotesColumnProps): import('react').FunctionComponentElement<{}> | null;
interface NotesColumnProps extends FocusedNotesColumnProps, EditableNotesColumnProps {
    editable?: boolean;
}
export { NotesColumn, NoteComponent, NoteTextEditor, NoteEditor, NoteEditorContext, NotesColumnProps, StaticNotesColumn, };
