import { ISerializable } from "./type-serialization";
export declare const gxRowNumberId = "_gxIndex";
export declare class GxCollectionData<T> extends Array<T> implements ISerializable {
    __currentItem: T;
    __itemType: {
        new (): T;
    };
    __serializationType: any;
    setType(itemType: {
        new (): T;
    }, serializationType?: any): GxCollectionData<T>;
    get CurrentItem(): T;
    set CurrentItem(value: T);
    get Count(): number;
    get itemClass(): any;
    add(element: any, position?: number): void;
    addRange(collection: any, position?: number): boolean;
    removeRange(position: number, count?: number): boolean;
    set(position: number, element: any): boolean;
    clear(): void;
    clone(): GxCollectionData<T>;
    indexOf(element: any): number;
    item(ix: number): any;
    remove(ix: number): void;
    toJson(): string;
    fromJson(json: string): void;
    static fromArray<T>(array: Array<T>): GxCollectionData<T>;
    serialize(): T[];
    deserialize(items: any): GxCollectionData<T>;
}
