import { FactoryComponent, Attributes, Vnode } from 'mithril'; export declare enum CollectionMode { BASIC = 0, LINKS = 1, AVATAR = 2 } export interface CollectionItem { /** If available, will be used as the key, so all items need an id. */ id?: string | number; /** Title of the collection item */ title: string | Vnode; /** For links, may contain a URL reference */ href?: string; /** For Avatar mode, may contain a URL reference to an image or a material icons class name */ avatar?: string; /** Add a class to the avatar image or icon, e.g. a color 'red'. */ className?: string; /** For Avatar mode, may contain a two-line trusted HTML content, or a Vnode for rich content */ content?: string | Vnode; /** If active, preselect the collection item. */ active?: boolean; /** Add a material icon as secondary content. */ iconName?: string; /** Onclick event handler */ onclick?: (item: CollectionItem) => void; /** Any other virtual element properties, including attributes and event handlers. */ [property: string]: any; } export interface CollectionAttrs extends Attributes { /** Optional header */ header?: string; /** The list of items */ items: CollectionItem[]; /** Mode of operation */ mode?: CollectionMode; } export declare const SecondaryContent: FactoryComponent; export declare const ListItem: FactoryComponent<{ item: CollectionItem; mode: CollectionMode; }>; export declare const AnchorItem: FactoryComponent<{ item: CollectionItem; }>; /** * Creates a Collection of items, optionally containing links, headers, secondary content or avatars. * @see https://materializecss.com/collections.html */ export declare const Collection: FactoryComponent;