import { ProtoDataset, RGBColor, JsonObject } from '@kepler.gl/types';
import { KeplerTable } from '@kepler.gl/table';
import Schema from './schema';
export type SavedField = {
    name: string;
    type: string;
    format?: string;
    analyzerType?: string;
};
export type ParsedField = {
    name: string;
    type: string;
    format: string;
    analyzerType: string;
};
export type SavedDatasetV1 = {
    version: 'v1';
    data: {
        id: string;
        label: string;
        color: RGBColor;
        allData: any[][];
        fields: SavedField[];
        type?: string;
        metadata?: JsonObject;
        disableDataOperation?: boolean;
    };
};
export type ParsedDataset = {
    data: {
        fields: ParsedField[];
        rows: any[][];
    };
    info: {
        id?: string;
        label?: string;
        color?: RGBColor;
    };
};
export declare const fieldPropertiesV0: {
    name: null;
    type: null;
};
export declare const fieldPropertiesV1: {
    name: null;
    type: null;
    format: null;
    analyzerType: null;
    metadata: null;
};
export declare class FieldSchema extends Schema {
    save(fields: any): {
        [x: string]: any;
    };
    load(fields: any): {
        [x: string]: any;
    };
}
export declare const propertiesV0: {
    id: null;
    label: null;
    color: null;
    allData: null;
    fields: FieldSchema;
};
export declare const propertiesV1: {
    fields: FieldSchema;
    type: null;
    metadata: null;
    disableDataOperation: null;
    id: null;
    label: null;
    color: null;
    allData: null;
};
export declare class DatasetSchema extends Schema {
    key: string;
    save(dataset: KeplerTable): SavedDatasetV1['data'];
    load(dataset: SavedDatasetV1['data']): ProtoDataset;
}
export declare const datasetSchema: {
    v0: DatasetSchema;
    v1: DatasetSchema;
};
export default datasetSchema;
