import { WithIndexer } from "../../../../fd-toolbox-core/types/with-indexer";
import { BaseODataFilter } from "../../../../fd-toolbox/odata/filters/base-odata-filter";
import { TableConfig } from "../../table/table-models";
import { PropertyMeta } from "../../core/property-meta";
import type { WithNullableId } from "../../../../fd-toolbox-core/types/resource-with-id";
import type { FunctionComponent } from "../../../../fd-toolbox/types/react-types";
/**
 * {@link multiListItemTypes}
 */
export declare const multiListItemTypes: {
    resource: number;
    editResource: number;
};
export type MultiListItemType = (typeof multiListItemTypes)[keyof typeof multiListItemTypes];
/**
 * {@link MultiListConfig}
 */
export interface MultiListConfig {
    tableMaxNumberOfColumns: number;
    tableConfig?: TableConfig;
    customSections?: MultiListSection[];
}
export interface MultiListSection {
    id: string;
    displayName: string;
    component: FunctionComponent<WithNullableId>;
    hasPermission: boolean;
}
/**
 * {@link MultiListItem}
 */
export interface MultiListItem {
    relatedResourceElementId: string;
    resourceId: string;
    resourceName: string;
    displayName: string;
    propertyName: string;
    type: MultiListItemType;
    filters?: WithIndexer<BaseODataFilter>;
    isRequiredRelation?: boolean;
    parentResourcePropertyMeta?: PropertyMeta;
}
