/** * Created by thinhth2 on 5/26/2017. */ export interface PoolItem { __alive?: boolean; [name: string]: any; } export declare class Pool { items: Array; onreturn: any; onget: any; onpush: any; sample: any; constructor(); private cloneItem(sample); getItem(): PoolItem; pushItem(item: PoolItem): void; setItems(items: Array): void; clear(): void; returnItem(item: PoolItem): void; /** * Generate of sample items * @param sampleItem * @param sampleCount */ generateItems(sampleItem: PoolItem, sampleCount: number): void; } export interface PoolOption { onreturn?: Function; onget?: Function; onpush?: Function; items?: Array; sampleItem?: PoolItem; sampleCount?: number; } export declare class PoolStatic { config(options: PoolOption): Pool; }