import type USPSClass from "../usps.js";
import type { ErrorResponse } from "../usps.js";
export interface PricingRateInput {
    Container?: string;
    Girth?: string;
    Height?: string;
    Length?: string;
    Machinable?: string;
    Ounces?: string;
    Pounds?: string;
    Service?: string;
    Size?: string;
    Width?: string;
    ZipDestination?: string;
    ZipOrigination?: string;
}
export interface RateV4Request {
    Package: {
        "@ID": string;
        AmountToCollect?: string;
        Container: string;
        Content?: {
            ContentDescription?: string;
            ContentType?: string;
        };
        DropOffTime?: string;
        FirstClassMailType?: string;
        Girth?: string;
        GroundOnly?: boolean;
        Height?: string;
        Length?: string;
        Machinable?: string;
        Ounces: string;
        Pounds: string;
        ReturnDimensionalWeight?: boolean;
        ReturnLocations?: boolean;
        ReturnServiceInfo?: boolean;
        Service: string;
        ShipDate?: {
            Option?: string;
        };
        SortBy?: string;
        SpecialServices?: {
            SpecialService?: string;
        };
        TrackingRetentionPeriod?: string;
        Value?: string;
        Width?: string;
        ZipDestination: string;
        ZipOrigination: string;
    };
}
interface RateV4Postage {
    CLASSID?: string;
    CommercialPlusRate?: string;
    CommercialRate?: string;
    DimensionalWeightCommercialPlusRate?: string;
    DimensionalWeightRate?: string;
    MailService?: string;
    MaxDimensions?: string;
    Rate?: string;
    ServiceInformation?: string;
    SpecialServices?: [
        {
            SpecialService?: {
                Available?: string;
                AvailableCPP?: string;
                AvailableOnline?: string;
                DeclaredValueRequired?: string;
                DueSenderRequired?: string;
                Price?: string;
                PriceCPP?: string;
                PriceOnline?: string;
                ServiceID?: string;
                ServiceName?: string;
            };
        }
    ];
}
interface RateV4Package {
    Container?: string;
    Error?: string;
    FirstClassMailType?: string;
    Girth?: string;
    Height?: string;
    Length?: string;
    Machinable?: string;
    Ounces: number;
    Postage: RateV4Postage;
    Pounds: number;
    Restriction: {
        Restrictions?: string;
    };
    Width?: string;
    ZipDestination: string;
    ZipOrigination: string;
    Zone?: string;
}
export interface RateV4Response {
    Error?: ErrorResponse;
    Package?: RateV4Package;
}
export default function (this: USPSClass, pricingRate: PricingRateInput): Promise<RateV4Postage | Error>;
export {};
