import AbstractColumnsDataset from './abstractColumn';
import ColumnDataset from './column';
import GroupDataset from './group';
import IndexDataset from './index';
import { dataCollectionType, schemaType } from '../../types';
export declare const specialColumns: Array<[string, schemaType]>;
export default class CollectionDataset extends AbstractColumnsDataset<GroupDataset, ColumnDataset> {
    protected name: string;
    protected columns: ColumnDataset[];
    protected indexes: IndexDataset[];
    constructor(collection: dataCollectionType, parent: GroupDataset);
    setReference(): void;
    getName(): string;
    setName(name: string): void;
    getIndexes(): IndexDataset[];
    getIndex(name: string): IndexDataset | undefined;
    addIndex(index: IndexDataset): IndexDataset;
    removeIndex(index: IndexDataset): void;
    sortIndexes(): void;
    remove(): void;
    getPopulates(withOwnPopulates?: boolean): ColumnDataset[];
    getObject(): dataCollectionType;
}
