import * as arrow from 'apache-arrow';
import { AsyncDuckDB, AsyncDuckDBConnection } from '@duckdb/duckdb-wasm';
import { KeplerTable } from '@kepler.gl/table';
import { ProcessorResult } from '../processors/data-processor';
declare type ImportDataToDuckProps = {
    data: ProcessorResult & {
        arrowSchema: arrow.Schema;
    };
    db: AsyncDuckDB;
    c: AsyncDuckDBConnection;
};
declare type ImportDataToDuckResult = {
    geoarrowMetadata?: Record<string, string>;
    useNewFields?: boolean;
};
export declare class KeplerGlDuckDbTable extends KeplerTable {
    readonly id: string;
    label: string;
    type: string;
    metadata: Record<string, any>;
    constructor(props: any);
    importRowData({ data, db, c }: ImportDataToDuckProps): Promise<void>;
    importGeoJsonData({ data, db, c }: ImportDataToDuckProps): Promise<ImportDataToDuckResult>;
    importArrowData({ data, c }: ImportDataToDuckProps): Promise<ImportDataToDuckResult>;
    /**
     * Creates a table from data, returns an arrow table with the data
     * @param data
     * @returns {Promise<{fields: Field[], cols: any[]}>}
     */
    protected createTableAndGetArrow(data: any): Promise<{
        fields: any[];
        cols: arrow.Vector[];
    }>;
    importData({ data }: {
        data: ProcessorResult;
    }): Promise<void>;
    update(data: any): Promise<any>;
    static getFileProcessor: (data: any, inputFormat?: string) => {
        processor: any;
        format: any;
    };
    static getInputDataValidator: () => (d: any) => any;
}
export {};
