import * as z from "zod/v4-mini";
import { BenefitCustomProperties, BenefitCustomProperties$Outbound } from "./benefitcustomproperties.js";
import { BenefitVisibility } from "./benefitvisibility.js";
export type BenefitCustomUpdateMetadata = string | number | number | boolean;
export type BenefitCustomUpdate = {
    /**
     * Key-value object allowing you to store additional information.
     *
     * @remarks
     *
     * The key must be a string with a maximum length of **40 characters**.
     * The value must be either:
     *
     * * A string with a maximum length of **500 characters**
     * * An integer
     * * A floating-point number
     * * A boolean
     *
     * You can store up to **50 key-value pairs**.
     */
    metadata?: {
        [k: string]: string | number | number | boolean;
    } | undefined;
    /**
     * The description of the benefit. Will be displayed on products having this benefit.
     */
    description?: string | null | undefined;
    /**
     * The visibility of the benefit in the customer portal.
     */
    visibility?: BenefitVisibility | null | undefined;
    type: "custom";
    properties?: BenefitCustomProperties | null | undefined;
};
/** @internal */
export type BenefitCustomUpdateMetadata$Outbound = string | number | number | boolean;
/** @internal */
export declare const BenefitCustomUpdateMetadata$outboundSchema: z.ZodMiniType<BenefitCustomUpdateMetadata$Outbound, BenefitCustomUpdateMetadata>;
export declare function benefitCustomUpdateMetadataToJSON(benefitCustomUpdateMetadata: BenefitCustomUpdateMetadata): string;
/** @internal */
export type BenefitCustomUpdate$Outbound = {
    metadata?: {
        [k: string]: string | number | number | boolean;
    } | undefined;
    description?: string | null | undefined;
    visibility?: string | null | undefined;
    type: "custom";
    properties?: BenefitCustomProperties$Outbound | null | undefined;
};
/** @internal */
export declare const BenefitCustomUpdate$outboundSchema: z.ZodMiniType<BenefitCustomUpdate$Outbound, BenefitCustomUpdate>;
export declare function benefitCustomUpdateToJSON(benefitCustomUpdate: BenefitCustomUpdate): string;
//# sourceMappingURL=benefitcustomupdate.d.ts.map