import * as React from 'react'; import { Component, ReactNode } from 'react'; import { SubsetKeys } from '@nu-art/ts-common'; import './TS_MultiSelect.scss'; import { EditableItem } from '../../utils/EditableItem.js'; type Binder_MultiSelect = EnclosingItem[K] extends ExpectedType[] ? { EnclosingItem: EnclosingItem; Prop: K; InnerType: ExpectedType; } : never; export type DynamicProps_TS_MultiSelect_V2 = { editable: EditableItem; prop: Prop; disabled?: boolean; }; export type StaticProps_TS_MultiSelect_V2 = { className?: string; itemsDirection?: 'vertical' | 'horizontal'; selectionFilter?: (item: ItemType) => boolean; itemFilter?: (item: ItemType) => boolean; sort?: (items: ItemType[]) => ItemType[]; itemRenderer: (item?: ItemType, onDelete?: () => Promise, disabled?: boolean) => ReactNode; selectionRenderer: React.ComponentType>; }; export type Props_TS_MultiSelect_V2> = StaticProps_TS_MultiSelect_V2 & DynamicProps_TS_MultiSelect_V2; export type MultiSelect_Selector = { className: string; existingItems: ItemType[]; onSelected: (selected: ItemType) => void | Promise; queryFilter?: (item: ItemType) => boolean; }; export declare class TS_MultiSelect_V2> extends Component, any> { static prepare(_props: StaticProps_TS_MultiSelect_V2): >(props: DynamicProps_TS_MultiSelect_V2 & Partial>) => import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; } export {};