import * as React from 'react'; import './TS_EditableItemControllerProto.scss'; import { DB_Object, DBProto, ResolvableContent } from '@nu-art/ts-common'; import { ModuleFE_BaseApi } from '../../modules/db-api-gen/ModuleFE_BaseApi.js'; import { ProtoDef_Selection } from '../Page_ItemsEditor/index.js'; import { EditableRef } from '../TS_EditableContent/TS_EditableContent.js'; import { ProtoComponent } from '../../core/proto-component/index.js'; import { InferProps, InferState } from '../../utils/types.js'; export type Props_EditableItemControllerProto, EditorProps extends {} = {}> = ProtoDef_Selection['props'] & { item?: Readonly> | string; module: ModuleFE_BaseApi; onError?: (item: Partial, err: Error) => any | Promise; autoSave?: ResolvableContent]>; editor: React.ComponentType & EditorProps>; createInitialInstance?: () => Readonly>; editorProps?: EditorProps; }; /** * Item_EditorController class handles the editing of a specific db item * and encapsulate logic to load the item from the local cache and uses the EditableItem to * and TS_EditableContent for rendering and editing the db item. * * @template Proto - The database prototype def to be edited * @template Props - The Props this class component takes */ export declare class TS_EditableItemControllerProto, EditorProps extends {} = {}, Props extends Props_EditableItemControllerProto = Props_EditableItemControllerProto> extends ProtoComponent> { static DefaultAutoSave: (item?: Partial) => boolean; constructor(p: InferProps>); private __onItemUpdated; protected deriveStateFromProps(nextProps: InferProps, state: InferState): InferState; render(): import("react/jsx-runtime").JSX.Element; }