import { Schema, ObjectRowTable } from '@loaders.gl/schema';
import type { LoaderOptions } from '@loaders.gl/loader-utils';
export type SHPLoaderOptions = LoaderOptions & {
    shp?: {
        _maxDimensions?: number;
    };
};
export type DBFLoaderOptions = LoaderOptions & {
    dbf?: {
        encoding?: string;
        shape?: 'rows' | 'table' | 'object-row-table';
    };
};
export type ShapefileLoaderOptions = LoaderOptions & SHPLoaderOptions & {
    shapefile?: {
        shape?: 'geojson-table';
    };
    gis?: {
        reproject?: boolean;
        _targetCrs?: string;
    };
};
export type DBFRowsOutput = ObjectRowTable['data'];
/**
 * DBF Table output. Deprecated in favor of ObjectRowTable
 * @deprecated
 */
export interface DBFTableOutput {
    schema?: Schema;
    rows: DBFRowsOutput;
}
export type DBFHeader = {
    year: number;
    month: number;
    day: number;
    nRecords: number;
    headerLength: number;
    recordLength: number;
    languageDriver: number;
};
export type DBFField = {
    name: string;
    dataType: string;
    fieldLength: number;
    decimal: number;
};
export type DBFResult = {
    data: {
        [key: string]: any;
    }[];
    schema?: Schema;
    error?: string;
    dbfHeader?: DBFHeader;
    dbfFields?: DBFField[];
    progress?: {
        bytesUsed: number;
        rowsTotal: number;
        rows: number;
    };
};
//# sourceMappingURL=types.d.ts.map