import type { ReactNode } from "react";
import type { CashAsset, EditorAction, EditorDispatcher, FixedIncome, Operation, RealWorldAssetsState, TableItemType, TableName } from "../types.js";
export type RWAEditorContextProps = {
    readonly isAllowedToCreateDocuments: boolean;
    readonly isAllowedToEditDocuments: boolean;
    readonly canUndo: boolean;
    readonly canRedo: boolean;
    readonly onSwitchboardLinkClick: (() => void) | undefined;
    readonly onExport: () => void;
    readonly onClose: () => void;
    readonly onShowRevisionHistory: () => void;
};
type TEditorContext = RWAEditorContextProps & RealWorldAssetsState & {
    readonly cashAsset: CashAsset;
    readonly fixedIncomes: FixedIncome[];
    readonly selectedTableItem: TableItemType<TableName> | null;
    readonly selectedTableName: TableName | null;
    readonly operation: Operation;
    readonly viewItem: (item: TableItemType<TableName>, tableName: TableName) => void;
    readonly createItem: (tableName: TableName) => void;
    readonly editItem: (item: TableItemType<TableName>, tableName: TableName) => void;
    readonly clearSelected: () => void;
    readonly getIsFormOpen: (tableName: TableName) => boolean;
    readonly handleAction: (action: EditorAction) => void;
    readonly handleUndo: () => void;
    readonly handleRedo: () => void;
};
export declare function RWAEditorContextProvider(props: RWAEditorContextProps & {
    readonly children: ReactNode;
    readonly state: RealWorldAssetsState;
    readonly editorDispatcher: EditorDispatcher;
    readonly undo: () => void;
    readonly redo: () => void;
}): import("react/jsx-runtime").JSX.Element;
export declare function useEditorContext(): TEditorContext;
export {};
//# sourceMappingURL=editor-context.d.ts.map