import { MultiListConfig, MultiListItem } from "./multi-list-types";
import { VoidFunc, VoidFuncNoParam } from "../../../../fd-toolbox/functions/internal-getter-setter-functions";
import { CellContext } from "../../table/table-models";
import { Comment } from "../../core/resources/comment.resource";
import { ShortResourceDescriptor } from "../../browsers/browser/short-resource-descriptor";
/**
 * Props of {@link MultiList}
 */
export interface MultiListProps {
    multiListItems: MultiListItem[];
    onCustomAction?: VoidFunc<CellContext, MultiListItem>;
    onMultiListResourceRelationChange?: VoidFunc<MultiListItem, ShortResourceDescriptor>;
    className?: string;
    multiListConfig: MultiListConfig;
    commentList?: Comment[];
    onSavingStarting?: VoidFuncNoParam;
    onSavingEnding?: VoidFuncNoParam;
}
/**
 * Component for displaying multiple related resource lists with support for different display modes
 *
 * @param MultiListProps {@link MultiListProps}
 *
 * @example
 * ```tsx
    function MyComponent() {
        return (
            <MultiList
                multiListItems={[
                    {
                        relatedResourceElementId: "student-relations",
                        resourceId: "123e4567-e89b-12d3-a456-426614174000",
                        resourceName: "Student",
                        displayName: "Students",
                        propertyName: "students",
                        type: fdMultiListItemType.resource,
                    },
                ]}
                multiListConfig={{ tableMaxNumberOfColumns: 3 }}
            />
        );
    }
 * ```
 */
export declare function MultiList({ multiListItems, className, onCustomAction, onMultiListResourceRelationChange, multiListConfig, commentList, onSavingStarting, onSavingEnding, }: MultiListProps): import("react").JSX.Element;
export default MultiList;
