import * as React from 'react'; import { providers } from '@logilab/cwclientlibjs'; import { EntityRelationsEditor, RelationStatus, EntityRelationsEditorProps, EntityRelationsEditorState } from './EntityRelationsEditor'; import { TranslationContext } from './commons'; /** * The props for a relation editor for selecting a single related entity */ export interface DefaultEntityRelationsEditorProps extends EntityRelationsEditorProps { /** * The limit when looking up relatable entities */ lookupLimitRelatable: number; /** * The limit when looking up already related entities */ lookupLimitRelated: number; } /** * The default props for an editor of entity relations */ export declare const ENTITY_RELATIONS_EDITOR_DEFAULT_PROPS: { className: string; lookupLimitRelatable: number; lookupLimitRelated: number; baseChanges: { added: never[]; removed: never[]; }; renderLookup: (component: DefaultEntityRelationsEditor) => JSX.Element; renderRelatable: (component: EntityRelationsEditor, entity: providers.Entity, status: RelationStatus) => JSX.Element[]; renderContentRelatables: (component: EntityRelationsEditor) => JSX.Element; renderContentLoading: (component: EntityRelationsEditor) => JSX.Element; renderButtonValidate: (component: EntityRelationsEditor) => JSX.Element; renderButtonCancel: (component: EntityRelationsEditor) => JSX.Element; render: (component: EntityRelationsEditor) => JSX.Element; }; /** * The default editors of relations for an entity */ export declare class DefaultEntityRelationsEditor extends React.Component implements EntityRelationsEditor { static contextType: React.Context; context: React.ContextType; static defaultProps: { className: string; lookupLimitRelatable: number; lookupLimitRelated: number; baseChanges: { added: never[]; removed: never[]; }; renderLookup: (component: DefaultEntityRelationsEditor) => JSX.Element; renderRelatable: (component: EntityRelationsEditor, entity: providers.Entity, status: RelationStatus) => JSX.Element[]; renderContentRelatables: (component: EntityRelationsEditor) => JSX.Element; renderContentLoading: (component: EntityRelationsEditor) => JSX.Element; renderButtonValidate: (component: EntityRelationsEditor) => JSX.Element; renderButtonCancel: (component: EntityRelationsEditor) => JSX.Element; render: (component: EntityRelationsEditor) => JSX.Element; }; state: EntityRelationsEditorState; _isMounted: boolean; constructor(props: Readonly); componentDidMount(): void; componentWillUnmount(): void; onLookupLoading(): void; onLookupResult(result: providers.Entity[]): void; onToggle(entity: providers.Entity, isRelated: boolean): void; render(): JSX.Element; }