import { Component, ComponentEvent } from './AbstractComponent'; export interface AbstractItemView extends Component { resetState: (selected: boolean) => void; model: Record; } export interface AbstractCollectionComponent extends Component { addChildView: >(model: Z) => void; childViews: Array; hydrateChildViews: () => void; addViewEventListener: (view: T) => void; removeViewEventListener: (view: T) => void; removeViewEventListeners: () => void; cloneItemTemplate: () => T; createChildView: (model: Record) => T; onItemSelectedDeselect: (event: ComponentEvent) => void; selectedItem: AbstractItemView; removeAllChildViews: () => void; destroyChildViews: () => void; removeElement: () => void; removeChildView: () => void; } export declare const createItemView: (component: Component) => AbstractItemView; export declare const createComponent: (component: Component) => AbstractCollectionComponent;