import { WorkspaceSeatType } from "../enums/SDKWorkspaceSeatType";
import { WorkspaceSubscriptionPlanInterval } from "../enums/SDKWorkspaceSubscriptionPlanInterval";
export type WorkspaceProductPriceRemoteModel = {
    stripePriceId: string;
    stripeProductId: string;
    stripeProductDescription: string;
    stripeProductFeatures: Array<string>;
    stripeProductAdditionalFeatures: Array<string>;
    active: boolean;
    amount: number;
    seatType?: WorkspaceSeatType;
    interval: WorkspaceSubscriptionPlanInterval;
    isPricePerCreator: boolean;
    legacyVersion?: string;
    monthlyCreditGrant?: number;
};
export type WorkspaceProductPriceTransportModel = WorkspaceProductPriceRemoteModel;
export declare class WorkspaceProductPrice {
    /** The unique identifier for the Stripe price */
    stripePriceId: string;
    /** The unique identifier for the Stripe product associated with the price */
    stripeProductId: string;
    /** Product description */
    stripeProductDescription: string;
    /** List of features available to this product price */
    stripeProductFeatures: Array<string>;
    /** List of additional features available to this product price */
    stripeProductAdditionalFeatures: Array<string>;
    /** Indicates whether the price is currently active */
    active: boolean;
    /** The amount to be charged for the product, in the smallest currency unit (e.g., cents) */
    amount: number;
    /** The matching seat (builder or full). Omitted for free plans */
    seatType?: WorkspaceSeatType;
    /** The billing interval (e.g., monthly, yearly) */
    interval: WorkspaceSubscriptionPlanInterval;
    /** Indicates whether the price is per creator (self-serve) or not */
    isPricePerCreator: boolean;
    /** An optional legacy version identifier, if applicable */
    legacyVersion?: string | null;
    /** The number of credits to be granted per month by this price */
    monthlyCreditGrant: number | null;
    constructor(model: WorkspaceProductPriceRemoteModel);
    toRemote(): WorkspaceProductPriceRemoteModel;
    toTransport(): WorkspaceProductPriceTransportModel;
    static fromTransport(model: WorkspaceProductPriceTransportModel): WorkspaceProductPrice;
}
