/**
 * WCS GetCoverage Request Builder
 *
 * Generates WCS GetCoverage request URLs and XML POST bodies
 * following OGC WCS 2.0.1 specification
 *
 * Reference: OGC WCS 2.0 Interface Standard - Core (09-110r4)
 */
export type WcsVersion = '2.0.1' | '2.0.0' | '1.1.0' | '1.0.0';
export interface WcsSubset {
    axis: string;
    min?: string | number;
    max?: string | number;
    value?: string | number;
}
export interface WcsScaling {
    type: 'size' | 'extent' | 'factor';
    value: number | number[];
}
export interface WcsGetCoverageOptions {
    coverageId: string;
    format?: string;
    subset?: WcsSubset[];
    scaling?: WcsScaling;
    rangeSubset?: string[];
    outputCrs?: string;
    subsettingCrs?: string;
    interpolation?: string;
    mediaType?: Record<string, string>;
}
export declare class WcsRequestBuilder {
    private baseUrl;
    private version;
    constructor(baseUrl: string, version?: WcsVersion);
    /**
     * Build GetCoverage request URL (GET method)
     */
    buildGetCoverageUrl(options: WcsGetCoverageOptions): string;
    /**
     * Build GetCoverage request XML (POST method) for WCS 2.0
     */
    buildGetCoverageXml(options: WcsGetCoverageOptions): string;
    private buildSubsetString;
    private buildSubsetXml;
    private buildScalingParameter;
    private buildScalingXml;
    private escapeXml;
}
/**
 * Helper function to create WCS GetCoverage request URL
 */
export declare function buildWcsGetCoverageUrl(baseUrl: string, options: WcsGetCoverageOptions, version?: WcsVersion): string;
/**
 * Helper function to create WCS GetCoverage request XML
 */
export declare function buildWcsGetCoverageXml(options: WcsGetCoverageOptions, version?: WcsVersion): string;
