/** EPSG codes for commonly used projections */
export declare enum EpsgCode {
    /** Pseudo-Mercator */
    Google = 3857,
    /** World Geodetic System 1984 */
    Wgs84 = 4326,
    /** New Zealand Transverse Mercator */
    Nztm2000 = 2193,
    /** Chatham Islands Transverse Mercator */
    Citm2000 = 3793
}
export declare class Epsg {
    static Codes: Map<number, Epsg>;
    static Google: Epsg;
    static Wgs84: Epsg;
    static Nztm2000: Epsg;
    static Citm2000: Epsg;
    code: EpsgCode;
    constructor(code: EpsgCode);
    /**  */
    toString(): string;
    /** Override JSON output to output just the EpsgCode */
    toJSON(): number;
    /**
     * Convert a EPSG code into "EPSG:<code>""
     * @example "EPSG:2193"
     */
    toEpsgString(): string;
    /**
     * convert a EPSG code into a URN
     * @example "urn:ogc:def:crs:EPSG::2193"
     */
    toUrn(): string;
    /**
     * Get the EPSG instance for a specified code,
     *
     * throws a exception if the code is not recognized
     *
     * @param code
     */
    static get(code: EpsgCode): Epsg;
    /**
     * Try to find a corresponding epsg code for a number
     * @param code
     */
    static tryGet(code?: number): Epsg | undefined;
    /** parse a string returning the raw EpsgCode **/
    static parseCode(text: string): EpsgCode | null;
    static parse(text: string): Epsg | null;
}
