import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ProductPriceSeatTier, ProductPriceSeatTier$Outbound } from "./productpriceseattier.js";
import { SeatTierType } from "./seattiertype.js";
/**
 * List of pricing tiers for seat-based pricing.
 *
 * @remarks
 *
 * The minimum and maximum seat limits are derived from the tiers:
 * - minimum_seats = first tier's min_seats
 * - maximum_seats = last tier's max_seats (None for unlimited)
 */
export type ProductPriceSeatTiersOutput = {
    seatTierType?: SeatTierType | undefined;
    /**
     * List of pricing tiers
     */
    tiers: Array<ProductPriceSeatTier>;
    /**
     * Minimum number of seats required for purchase, derived from first tier.
     */
    minimumSeats: number;
    /**
     * Maximum number of seats allowed for purchase, derived from last tier. None for unlimited.
     */
    maximumSeats: number | null;
};
/** @internal */
export declare const ProductPriceSeatTiersOutput$inboundSchema: z.ZodMiniType<ProductPriceSeatTiersOutput, unknown>;
/** @internal */
export type ProductPriceSeatTiersOutput$Outbound = {
    seat_tier_type?: string | undefined;
    tiers: Array<ProductPriceSeatTier$Outbound>;
    minimum_seats: number;
    maximum_seats: number | null;
};
/** @internal */
export declare const ProductPriceSeatTiersOutput$outboundSchema: z.ZodMiniType<ProductPriceSeatTiersOutput$Outbound, ProductPriceSeatTiersOutput>;
export declare function productPriceSeatTiersOutputToJSON(productPriceSeatTiersOutput: ProductPriceSeatTiersOutput): string;
export declare function productPriceSeatTiersOutputFromJSON(jsonString: string): SafeParseResult<ProductPriceSeatTiersOutput, SDKValidationError>;
//# sourceMappingURL=productpriceseattiersoutput.d.ts.map