import * as z from "zod/v3"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { EnvironmentMode } from "./environmentmode.js"; import { FeatureFileEntity, FeatureFileEntity$Outbound } from "./featurefileentity.js"; import { LicenseStatus } from "./licensestatus.js"; import { ProductFeatureType } from "./productfeaturetype.js"; /** * File feature data containing downloadable files. */ export type FileT = { /** * List of downloadable files. */ files: Array; }; /** * The status of the license instance. */ export declare const ProductFeatureEntityStatus: { readonly Active: "active"; readonly Deactivated: "deactivated"; }; /** * The status of the license instance. */ export type ProductFeatureEntityStatus = ClosedEnum; /** * Associated license instances. */ export type ProductFeatureEntityInstance = { /** * Unique identifier for the object. */ id: string; /** * String representing the environment. */ mode: EnvironmentMode; /** * A string representing the object’s type. Objects of the same type share the same value. */ object: string; /** * The name of the license instance. */ name: string; /** * The status of the license instance. */ status: ProductFeatureEntityStatus; /** * The creation date of the license instance. */ createdAt: Date; }; /** * License key issued for the order. */ export type LicenseKey = { /** * Unique identifier for the object. */ id: string; /** * String representing the environment. */ mode: EnvironmentMode; /** * A string representing the object’s type. Objects of the same type share the same value. */ object: string; /** * The ID of the product this license belongs to. */ productId: string; /** * The current status of the license key. */ status: LicenseStatus; /** * The license key. */ key: string; /** * The number of instances that this license key was activated. */ activation: number; /** * The activation limit. Null if activations are unlimited. */ activationLimit?: number | null | undefined; /** * The date the license key expires. Null if it does not have an expiration date. */ expiresAt?: Date | null | undefined; /** * The creation date of the license key. */ createdAt: Date; /** * Associated license instances. */ instance?: ProductFeatureEntityInstance | null | undefined; }; /** * The status of the license instance. */ export declare const ProductFeatureEntityLicenseStatus: { readonly Active: "active"; readonly Deactivated: "deactivated"; }; /** * The status of the license instance. */ export type ProductFeatureEntityLicenseStatus = ClosedEnum; /** * Associated license instances. */ export type ProductFeatureEntityLicenseInstance = { /** * Unique identifier for the object. */ id: string; /** * String representing the environment. */ mode: EnvironmentMode; /** * A string representing the object’s type. Objects of the same type share the same value. */ object: string; /** * The name of the license instance. */ name: string; /** * The status of the license instance. */ status: ProductFeatureEntityLicenseStatus; /** * The creation date of the license instance. */ createdAt: Date; }; /** * DEPRECATED: Use `license_key` instead. License key issued for the order. * * @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible. */ export type License = { /** * Unique identifier for the object. */ id: string; /** * String representing the environment. */ mode: EnvironmentMode; /** * A string representing the object’s type. Objects of the same type share the same value. */ object: string; /** * The ID of the product this license belongs to. */ productId: string; /** * The current status of the license key. */ status: LicenseStatus; /** * The license key. */ key: string; /** * The number of instances that this license key was activated. */ activation: number; /** * The activation limit. Null if activations are unlimited. */ activationLimit?: number | null | undefined; /** * The date the license key expires. Null if it does not have an expiration date. */ expiresAt?: Date | null | undefined; /** * The creation date of the license key. */ createdAt: Date; /** * Associated license instances. */ instance?: ProductFeatureEntityLicenseInstance | null | undefined; }; export type ProductFeatureEntity = { /** * Unique identifier for the feature. */ id?: string | null | undefined; /** * A brief description of the feature. */ description?: string | null | undefined; /** * The type of the feature: privateNote (custom note), file (downloadable files), or licenseKey (license key). */ type?: ProductFeatureType | undefined; /** * Private note from the seller. This is only visible to the customer after purchase. */ privateNote?: string | null | undefined; /** * File feature data containing downloadable files. */ file?: FileT | null | undefined; /** * License key issued for the order. */ licenseKey?: LicenseKey | null | undefined; /** * DEPRECATED: Use `license_key` instead. License key issued for the order. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ license?: License | null | undefined; }; /** @internal */ export declare const FileT$inboundSchema: z.ZodType; /** @internal */ export type FileT$Outbound = { files: Array; }; /** @internal */ export declare const FileT$outboundSchema: z.ZodType; export declare function fileToJSON(fileT: FileT): string; export declare function fileFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const ProductFeatureEntityStatus$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ProductFeatureEntityStatus$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ProductFeatureEntityInstance$inboundSchema: z.ZodType; /** @internal */ export type ProductFeatureEntityInstance$Outbound = { id: string; mode: string; object: string; name: string; status: string; created_at: string; }; /** @internal */ export declare const ProductFeatureEntityInstance$outboundSchema: z.ZodType; export declare function productFeatureEntityInstanceToJSON(productFeatureEntityInstance: ProductFeatureEntityInstance): string; export declare function productFeatureEntityInstanceFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const LicenseKey$inboundSchema: z.ZodType; /** @internal */ export type LicenseKey$Outbound = { id: string; mode: string; object: string; product_id: string; status: string; key: string; activation: number; activation_limit?: number | null | undefined; expires_at?: string | null | undefined; created_at: string; instance?: ProductFeatureEntityInstance$Outbound | null | undefined; }; /** @internal */ export declare const LicenseKey$outboundSchema: z.ZodType; export declare function licenseKeyToJSON(licenseKey: LicenseKey): string; export declare function licenseKeyFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const ProductFeatureEntityLicenseStatus$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ProductFeatureEntityLicenseStatus$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ProductFeatureEntityLicenseInstance$inboundSchema: z.ZodType; /** @internal */ export type ProductFeatureEntityLicenseInstance$Outbound = { id: string; mode: string; object: string; name: string; status: string; created_at: string; }; /** @internal */ export declare const ProductFeatureEntityLicenseInstance$outboundSchema: z.ZodType; export declare function productFeatureEntityLicenseInstanceToJSON(productFeatureEntityLicenseInstance: ProductFeatureEntityLicenseInstance): string; export declare function productFeatureEntityLicenseInstanceFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const License$inboundSchema: z.ZodType; /** @internal */ export type License$Outbound = { id: string; mode: string; object: string; product_id: string; status: string; key: string; activation: number; activation_limit?: number | null | undefined; expires_at?: string | null | undefined; created_at: string; instance?: ProductFeatureEntityLicenseInstance$Outbound | null | undefined; }; /** @internal */ export declare const License$outboundSchema: z.ZodType; export declare function licenseToJSON(license: License): string; export declare function licenseFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const ProductFeatureEntity$inboundSchema: z.ZodType; /** @internal */ export type ProductFeatureEntity$Outbound = { id?: string | null | undefined; description?: string | null | undefined; type?: string | undefined; private_note?: string | null | undefined; file?: FileT$Outbound | null | undefined; license_key?: LicenseKey$Outbound | null | undefined; license?: License$Outbound | null | undefined; }; /** @internal */ export declare const ProductFeatureEntity$outboundSchema: z.ZodType; export declare function productFeatureEntityToJSON(productFeatureEntity: ProductFeatureEntity): string; export declare function productFeatureEntityFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=productfeatureentity.d.ts.map