import { APIResource } from "../../core/resource.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseRatePlans extends APIResource {
    static readonly _key: readonly ['billing', 'ratePlans'];
    /**
     * Gets a rate plan's details by its public key (e.g., 'teams_free',
     * 'cf_pro_20_20'). This is a public catalog endpoint, so authentication is not
     * enforced and credentials are accepted but not required.
     *
     * @example
     * ```ts
     * const ratePlan = await client.billing.ratePlans.get(
     *   'teams_free',
     * );
     * ```
     */
    get(publicKey: string, options?: RequestOptions): APIPromise<RatePlanGetResponse>;
}
export declare class RatePlans extends BaseRatePlans {
}
export interface RatePlanGetResponse {
    /**
     * The uppercase rate plan public key.
     */
    id?: string;
    /**
     * Pricing components that make up this rate plan.
     */
    components?: Array<{
        [key: string]: unknown;
    }>;
    /**
     * Currency of the rate plan pricing.
     */
    currency?: string;
    /**
     * Human-readable description of the rate plan.
     */
    public_name?: string;
}
export declare namespace RatePlans {
    export { type RatePlanGetResponse as RatePlanGetResponse };
}
//# sourceMappingURL=rate-plans.d.mts.map