import { ReactNode } from "react"; import { DisplayHandlerProps, DisplayInterface } from "./___subComponents/DisplayHandler"; import { InfiniteLoaderInterface } from "./___subComponents/InfiniteLoader"; import { renderFunc } from "./___subComponents/uiFunctions"; import { GroupOptionsInterface } from "./___utils/groupList"; import { SearchOptionsInterface } from "./___utils/searchList"; import { SortOptionsInterface } from "./___utils/sortList"; export type List = Array | Set | Map | { [key: string]: T; }; export interface GroupInterface extends GroupOptionsInterface { limit?: number; of?: number; separator?: ReactNode | ((g: ListItem[], idx: number, label: string) => ReactNode | null) | null; separatorAtTheBottom?: boolean; sortBy?: SortOptionsInterface["by"]; sortedBy?: SortOptionsInterface["by"]; sortDescending?: boolean; sortedDescending?: boolean; sortCaseInsensitive?: boolean; sortedCaseInsensitive?: boolean; } export interface ScrollToTopInterface { button?: ReactNode | (() => JSX.Element); offset?: number; padding?: number; position?: "top" | "bottom" | "top right" | "top left" | "bottom left" | "bottom right"; } export interface SortInterface extends SortOptionsInterface { groupBy?: GroupInterface["sortBy"]; groupDescending?: GroupInterface["sortDescending"]; groupCaseInsensitive?: GroupInterface["sortCaseInsensitive"]; } export interface FlatListProps { list: List; renderItem: renderFunc; renderWhenEmpty?: ReactNode | (() => JSX.Element); renderOnScroll?: boolean; limit?: number | string; reversed?: boolean; wrapperHtmlTag?: string; sort?: boolean | SortInterface; sortBy?: SortInterface["by"]; sortCaseInsensitive?: SortInterface["caseInsensitive"]; sortDesc?: SortInterface["descending"]; sortDescending?: SortInterface["descending"]; sortGroupBy?: GroupInterface["sortBy"]; sortGroupDesc?: GroupInterface["sortDescending"]; sortGroupDescending?: GroupInterface["sortDescending"]; sortGroupCaseInsensitive?: GroupInterface["sortCaseInsensitive"]; group?: GroupInterface; showGroupSeparatorAtTheBottom?: GroupInterface["separatorAtTheBottom"]; groupSeparatorAtTheBottom?: GroupInterface["separatorAtTheBottom"]; groupReversed?: GroupInterface["reversed"]; groupSeparator?: GroupInterface["separator"]; groupBy?: GroupInterface["by"]; groupOf?: GroupInterface["limit"]; groupSorted?: boolean; groupSortedDescending?: GroupInterface["sortDescending"]; groupSortedCaseInsensitive?: GroupInterface["sortCaseInsensitive"]; display?: DisplayInterface; displayRow?: DisplayHandlerProps["displayRow"]; rowGap?: DisplayHandlerProps["rowGap"]; displayGrid?: DisplayHandlerProps["displayGrid"]; gridGap?: DisplayHandlerProps["gridGap"]; minColumnWidth?: DisplayHandlerProps["minColumnWidth"]; filterBy?: string | ((item: ListItem, idx: number) => boolean); search?: SearchOptionsInterface; searchTerm?: SearchOptionsInterface["term"]; searchBy?: SearchOptionsInterface["by"]; searchOnEveryWord?: SearchOptionsInterface["everyWord"]; searchCaseInsensitive?: SearchOptionsInterface["caseInsensitive"]; searchableMinCharactersCount?: SearchOptionsInterface["minCharactersCount"]; pagination?: InfiniteLoaderInterface; hasMoreItems?: InfiniteLoaderInterface["hasMore"]; loadMoreItems?: null | InfiniteLoaderInterface["loadMore"]; paginationLoadingIndicator?: InfiniteLoaderInterface["loadingIndicator"]; paginationLoadingIndicatorPosition?: InfiniteLoaderInterface["loadingIndicatorPosition"]; scrollToTop?: boolean | ScrollToTopInterface; scrollToTopButton?: ReactNode | (() => ReactNode); scrollToTopOffset?: number; scrollToTopPadding?: number; scrollToTopPosition?: string; [key: string]: any; } export declare const defaultProps: FlatListProps; //# sourceMappingURL=flatListProps.d.ts.map