import { ShapeFileReader } from './shp';
import type { ProjectionTransformDefinition } from '../../proj4';
export * from './dbf';
export * from './shp';
/** A description of what relevant files exist and where */
export interface Definition {
    /** The path to the .shp file */
    shp: string;
    /** The path to the .dbf file. dbf is optional, but needed if you want attributes */
    dbf?: string;
    /**
     * The path to the .prj file. prj is optional, but needed if your file is in some
     * projection you don't want it in
     */
    prj?: string;
    /**
     * The path to the .cpg file. cpg is optional, but needed if your dbf is in some
     * weird (non utf8) encoding.
     */
    cpg?: string;
}
/**
 * Assumes the input is pointing to a shapefile or name without the extension.
 * The algorithm will find the rest of the paths if they exist. May also be a gzipped folder.
 * @param input - the path to the .shp file or name without the extension
 * @param defs - optional array of ProjectionTransformDefinitions to insert
 * @param epsgCodes - a record of EPSG codes to use for the transformer if needed
 * @returns - a Shapefile
 */
export declare function shapefileFromPath(input: string, defs?: ProjectionTransformDefinition[], epsgCodes?: Record<string, string>): Promise<ShapeFileReader>;
/**
 * Build a Shapefile from a Definition
 * @param def - a description of the data to parse
 * @param defs - optional array of ProjectionTransformDefinitions to insert
 * @param epsgCodes - a record of EPSG codes to use for the transformer if needed
 * @returns - a Shapefile
 */
export declare function shapefileFromDefinition(def: Definition, defs?: ProjectionTransformDefinition[], epsgCodes?: Record<string, string>): Promise<ShapeFileReader>;
//# sourceMappingURL=file.d.ts.map