import { Signal } from '../../signal'; import { ForControlFlow } from '../../../symbols'; import { KeyBuilder } from '../../../common/key-builder/key-builder'; import { RenderFunction } from '../../dom-render/render'; import { VirtualElement, Renderable } from '../../../types'; type ForFactory = { item$: Signal; item: T; index: number; list: T[]; }; type ForProps = { factory: (args: ForFactory) => Renderable; list: Signal>; index?: string | ((item: T, i: number) => string); memo?: boolean; empty?: Renderable; }; declare function For(props: ForProps): VirtualElement; declare namespace For { var $$type: typeof ForControlFlow; } declare function renderFor(element: VirtualElement, container: HTMLElement, render: RenderFunction, key: KeyBuilder): HTMLElement | Text; export type { ForProps, ForFactory }; export { For, renderFor };