import { State, SimpleDeep, KeyedDeep, KeyFunc, PinLike } from '@connectv/core'; import { RendererLike } from '../renderer/renderer-like'; import { CompType, ComponentThis } from '../renderer/plugin/component/types'; import { Observable } from 'rxjs'; export interface KeyedListPropsWithKey { of: State | SimpleDeep | PinLike | Observable; each: (sub: SimpleDeep, index?: PinLike) => Node; key: KeyFunc; } export interface KeyedListPropsWithoutKey { of: KeyedDeep; each: (sub: SimpleDeep, index?: PinLike) => Node; } export declare type KeyedListProps = KeyedListPropsWithKey | KeyedListPropsWithoutKey; export declare function KeyedList(this: ComponentThis, props: KeyedListProps, renderer: RendererLike): HTMLElement;