import { Stack, IStack } from './layouts'; import { IView, Superview, View, NativeViewModel } from '../ui/view'; export interface IFlowLayoutItem extends IStack { identifier?: string; } export declare class FlowLayoutItem extends Stack implements IFlowLayoutItem { /** * Set to reuse native view */ identifier?: string; } export interface IFlowLayout extends IView { renderItem: (index: number) => FlowLayoutItem; itemCount: number; batchCount?: number; columnCount?: number; columnSpace?: number; rowSpace?: number; loadMore?: boolean; onLoadMore?: () => void; loadMoreView?: FlowLayoutItem; onScroll?: (offset: { x: number; y: number; }) => void; onScrollEnd?: (offset: { x: number; y: number; }) => void; } export declare class FlowLayout extends Superview implements IFlowLayout { private cachedViews; private ignoreDirtyCallOnce; allSubviews(): IterableIterator | FlowLayoutItem[]; columnCount: number; columnSpace?: number; rowSpace?: number; itemCount: number; renderItem: (index: number) => FlowLayoutItem; batchCount: number; onLoadMore?: () => void; loadMore?: boolean; loadMoreView?: FlowLayoutItem; onScroll?: (offset: { x: number; y: number; }) => void; onScrollEnd?: (offset: { x: number; y: number; }) => void; reset(): void; private getItem; isDirty(): boolean; private renderBunchedItems; toModel(): NativeViewModel; } export declare function flowlayout(config: IFlowLayout): FlowLayout; export declare function flowItem(item: View | View[], config?: IFlowLayoutItem): FlowLayoutItem;