import { ReactNode } from 'react'; import { EditableItem } from '../../utils/EditableItem.js'; import { DBProto } from '@nu-art/ts-common'; import { Controller, Props_Controller } from '../../core/Controller.js'; import { InferState } from '../../utils/types.js'; export type EditableRef = { editable: EditableItem; }; type _State = EditableRef & { tag?: string; }; export type EditableContentType = Opt extends DBProto ? Opt['uiType'] : Opt; export declare abstract class TS_EditableContent = EditableContentType, Props extends P & EditableRef & Props_Controller = P & EditableRef & Props_Controller, State extends S & _State = S & _State> extends Controller { shouldReDeriveState(nextProps: Readonly): boolean; shouldComponentUpdate(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; protected deriveStateFromProps(nextProps: Props, state: State): InferState; protected renderProp(label: string, render: ReactNode, className?: string): import("react/jsx-runtime").JSX.Element; protected renderPropVertical(label: string, render: ReactNode, className?: string): import("react/jsx-runtime").JSX.Element; protected renderPropHorizontal(label: string, render: ReactNode, className?: string): import("react/jsx-runtime").JSX.Element; item: () => Partial; } export {};