import type { Emitter } from '@mantou/gem/lib/decorators'; import type { TemplateResult } from '@mantou/gem/lib/element'; import { GemElement } from '@mantou/gem/lib/element'; import { DuoyunResizeBaseElement } from './base/resize'; import type { VisibleBaseElement } from './base/visible'; import { DuoyunVisibleBaseElement } from './base/visible'; import type { Status } from './status-light'; import './avatar'; import './divider'; export type Item = { title: string | TemplateResult; description?: string | TemplateResult; avatar?: string | TemplateResult; status?: Status; }; type Key = string | number; type State = { beforeHeight: number; renderList: Key[]; afterHeight: number; }; export type PersistentState = State & { scrollTop: number; }; export declare class DuoyunOutsideElement extends DuoyunVisibleBaseElement { } export declare class DuoyunListElement extends GemElement { #private; static list: string; static item: string; static beforeOutside: string; static afterOutside: string; static before: string; static after: string; /**@deprecated */ data?: any[]; items?: any[]; backward: Emitter; key?: any; renderItem?: (item: any) => TemplateResult; debug: boolean; /**enable infinite scroll, virtualization render */ infinite: boolean; /**If infinite scrolling is enabled, this method must be provided */ getKey?: (item: any) => Key; /**only infinite */ forward: Emitter; /**only infinite */ itemshow: Emitter; render: () => TemplateResult; /**Setter: initState */ set persistentState(initState: PersistentState | undefined); /**Getter */ get persistentState(): PersistentState; scrollContainer: HTMLElement; } export declare class DuoyunListItemElement extends DuoyunResizeBaseElement implements VisibleBaseElement { #private; show: Emitter; hide: Emitter; visible: boolean; intersectionRoot?: Element | Document; intersectionRootMargin?: string; item?: any; renderItem?: (item: any) => TemplateResult; key?: any; render: () => any; } export {}; //# sourceMappingURL=list.d.ts.map