import { GecutDirective } from '@gecut/lit-helper/directives/directive.js'; import { type ClassInfo } from 'lit/directives/class-map.js'; import { type ItemContent } from './item.js'; import type { PartInfo } from 'lit/directive.js'; export type KeyFn = (item: T, index: number) => unknown; export type ItemTemplate = (item: T, index: number) => ItemContent; export interface GecutListDirectiveFn { (content: ListContent, items: Iterable, template?: ItemTemplate): unknown; (content: ListContent, items: Iterable, template: ItemTemplate): unknown; (content: ListContent, items: Iterable, keyFn: KeyFn | ItemTemplate, template: ItemTemplate): unknown; } export interface ListContent { scrollable?: boolean; box?: 'elevated' | 'filled' | 'outlined'; fade?: 'auto' | 'top' | 'bottom' | boolean; } export declare class GecutListDirective extends GecutDirective { constructor(partInfo: PartInfo); protected content?: ListContent; render(content: ListContent, items: Iterable, template: ItemTemplate): unknown; render(content: ListContent, items: Iterable, keyFn: KeyFn | ItemTemplate, template: ItemTemplate): unknown; protected getRenderClasses(): ClassInfo; } export declare const gecutList: GecutListDirectiveFn; //# sourceMappingURL=list.d.ts.map