import React from "react";
import type { BaseListItemProps, ListItemProps } from "@jobber/components/List/ListItem";
interface ListProps<T extends BaseListItemProps = ListItemProps> {
    /**
     * Array of the list items.
     */
    readonly items: T[];
    /**
     * A function that will be called for each item instead of the default
     * rendering
     * @argument item - The item to render
     */
    readonly customRenderItem?: (item: T) => React.ReactNode;
    /**
     * Set to true for more control over the item styles. Only modifies styles
     * when used with customRenderItem.
     */
    readonly customItemStyles?: boolean;
    /**
     * A function that will be called for each section heading instead of the default
     * rendering
     * @argument sectionName - The name of the section to render
     */
    readonly customRenderSection?: (sectionName: string) => React.ReactNode;
    /**
     * Set to true for more control over the section heading styles. Only modifies styles
     * when used with customRenderItem.
     */
    readonly customSectionStyles?: boolean;
    /**
     * An ID of an element that provides the labelling for this list.
     */
    readonly labelledBy?: string;
    /**
     * A default section header value for items that do not have a section.
     * @default "Other"
     */
    readonly defaultSectionHeader?: string;
}
export declare function List<T extends BaseListItemProps = ListItemProps>({ items, customRenderItem, customItemStyles, customRenderSection, customSectionStyles, defaultSectionHeader, labelledBy, }: ListProps<T>): React.JSX.Element;
export {};
