import type { ProjectionParams } from '../../proj4';
/** Authority - EPSG code. */
export interface Authority {
    EPSG: string;
}
/** Unit - name and conversion factor. */
export interface Unit {
    name: string;
    convert: number;
    AUTHORITY: Authority;
}
/** Spheroid - name, a and rf. */
export interface Spheroid {
    name: string;
    a: number;
    rf: number;
    AUTHORITY: Authority;
}
/** Datum - name, SPHEROID, TOWGS84. */
export interface Datum {
    name: string;
    SPHEROID?: Spheroid;
    AUTHORITY: Authority;
    TOWGS84?: DatumParams;
}
/** GeoGCS - name, DATUM, PRIMEM, UNIT, AUTHORITY. */
export interface GeoGCS {
    name: string;
    DATUM?: Datum;
    PRIMEM?: Unit;
    UNIT?: Unit;
    AUTHORITY: Authority;
}
/** VertCS - name, VERT_DATUM, UNIT, AXIS. */
export interface VertCS {
    name?: string;
    VERT_DATUM?: Unit;
    UNIT?: Unit;
    AXIS?: [string, string][];
    AUTHORITY?: Authority;
}
/** Datum parameters. Can be 3 or 7 elements. */
export type DatumParams = [number, number, number, number, number, number, number];
/**
 * WKT CRS
 * The resolved CRS object from a WKT string.
 */
export interface WKTCRS extends ProjectionParams {
    type?: string;
    name?: string;
    local?: boolean;
    GEOGCS?: GeoGCS;
    DATUM?: Datum;
    PRIMEM?: Unit;
    UNIT?: Unit;
    PROJCS?: Omit<WKTCRS, 'srsCode'>;
    VERT_CS?: VertCS;
    PROJECTION?: string;
    rectified_grid_angle?: number;
    standard_parallel_1?: number;
    standard_parallel_2?: number;
    latitude_of_origin?: number;
    latitude_of_center?: number;
    longitude_of_center?: number;
    central_meridian?: number;
    false_easting?: number;
    false_northing?: number;
    AUTHORITY?: Authority;
    AXIS?: [string, string][];
    units?: string;
    to_meter?: number;
    datumCode?: string;
    ellps?: string;
    from_greenwich?: number;
    a?: number;
    b?: number;
    rf?: number;
    x0?: number;
    y0?: number;
    k0?: number;
    lat_ts?: number;
    latTs?: number;
    longc?: number;
    long0?: number;
    lat0?: number;
    lat1?: number;
    lat2?: number;
    axis?: string;
    srsCode: string;
    datum_params?: DatumParams;
    datumParams?: DatumParams;
    scale_factor?: number;
    scaleFactor?: number;
    sphere?: boolean;
    azimuth?: number;
    alpha?: number;
    projName?: string;
    toMeter?: number;
}
export declare const KEYWORDS: string[];
/**
 * Checks the string to see if it is a WKT projection
 * @param srsCode - WKT string
 * @returns - true if it is a WKT projection string
 */
export declare function isWKTProjection(srsCode: string): boolean;
/**
 * Parses a WKT projection
 * @param srsCode - WKT string input
 * @returns - WKT object
 */
export declare function parseWKTProjection(srsCode: string): WKTCRS;
//# sourceMappingURL=projection.d.ts.map