import React from 'react';
import { ListCardProps } from '../list-card';
import './searchable-list.less';
export type SearchableListPagination = {
    currentPage: number;
    setPage: (page: number) => void;
    pageSize: number;
    setPageSize: (pageSize: number) => void;
};
export type SearchableListItem = ListCardProps & {
    id: string;
};
export type SearchableListProps = {
    /**
     * pagination object from `usePaginationState`
     */
    pagination: SearchableListPagination;
    searchValue?: string;
    onSearch: (value: string) => void;
    /**
     * total number of items (for backend pagination)
     */
    total?: number;
    header?: React.ReactNode;
    className?: string;
    /**
     * Component that will render each item, receives item as a prop
     */
    ItemComponent?: React.ComponentType<any>;
    items: SearchableListItem[];
    errorMessage?: string;
    isLoading?: boolean;
    noItemsText?: string;
    updatingResultsText?: string;
    loadingText?: string;
    availableSizes?: number[];
};
export default function SearchableList({ className, items, errorMessage, isLoading, pagination, availableSizes, ItemComponent, searchValue, onSearch, header, total, noItemsText, updatingResultsText, loadingText, }: SearchableListProps): import("react/jsx-runtime").JSX.Element;
