import { Base, Type } from "./type";
import { IIndexedPool$1 } from "./IIndexedPool$1";
import { List$1 } from "./List$1";
/**
 * @hidden
 */
export declare class Pool$1<T> extends Base implements IIndexedPool$1<T> {
    static $t: Type;
    protected $t: Type;
    constructor($t: Type);
    private _create;
    get create(): () => T;
    set create(a: () => T);
    private _disactivate;
    get disactivate(): (arg1: T) => void;
    set disactivate(a: (arg1: T) => void);
    private _activate;
    get activate(): (arg1: T) => void;
    set activate(a: (arg1: T) => void);
    private _destroy;
    get destroy(): (arg1: T) => void;
    set destroy(a: (arg1: T) => void);
    item(a: number): T;
    clear(): void;
    get count(): number;
    set count(a: number);
    a: List$1<T>;
    b: List$1<T>;
    c(a: (arg1: T) => void): void;
}
