import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { DiscountDuration } from "./discountduration.js";
import { DiscountType } from "./discounttype.js";
import { MetadataOutputType, MetadataOutputType$Outbound } from "./metadataoutputtype.js";
export type DiscountFixedRepeatDurationBase = {
    duration: DiscountDuration;
    durationInMonths: number;
    type: DiscountType;
    /**
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    amount: number;
    /**
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    currency: string;
    /**
     * Map of currency to fixed amount to discount from the total.
     */
    amounts: {
        [k: string]: number;
    };
    /**
     * Creation timestamp of the object.
     */
    createdAt: Date;
    /**
     * Last modification timestamp of the object.
     */
    modifiedAt: Date | null;
    /**
     * The ID of the object.
     */
    id: string;
    metadata: {
        [k: string]: MetadataOutputType;
    };
    /**
     * Name of the discount. Will be displayed to the customer when the discount is applied.
     */
    name: string;
    /**
     * Code customers can use to apply the discount during checkout.
     */
    code: string | null;
    /**
     * Timestamp after which the discount is redeemable.
     */
    startsAt: Date | null;
    /**
     * Timestamp after which the discount is no longer redeemable.
     */
    endsAt: Date | null;
    /**
     * Maximum number of times the discount can be redeemed.
     */
    maxRedemptions: number | null;
    /**
     * Number of times the discount has been redeemed.
     */
    redemptionsCount: number;
    /**
     * The organization ID.
     */
    organizationId: string;
};
/** @internal */
export declare const DiscountFixedRepeatDurationBase$inboundSchema: z.ZodMiniType<DiscountFixedRepeatDurationBase, unknown>;
/** @internal */
export type DiscountFixedRepeatDurationBase$Outbound = {
    duration: string;
    duration_in_months: number;
    type: string;
    amount: number;
    currency: string;
    amounts: {
        [k: string]: number;
    };
    created_at: string;
    modified_at: string | null;
    id: string;
    metadata: {
        [k: string]: MetadataOutputType$Outbound;
    };
    name: string;
    code: string | null;
    starts_at: string | null;
    ends_at: string | null;
    max_redemptions: number | null;
    redemptions_count: number;
    organization_id: string;
};
/** @internal */
export declare const DiscountFixedRepeatDurationBase$outboundSchema: z.ZodMiniType<DiscountFixedRepeatDurationBase$Outbound, DiscountFixedRepeatDurationBase>;
export declare function discountFixedRepeatDurationBaseToJSON(discountFixedRepeatDurationBase: DiscountFixedRepeatDurationBase): string;
export declare function discountFixedRepeatDurationBaseFromJSON(jsonString: string): SafeParseResult<DiscountFixedRepeatDurationBase, SDKValidationError>;
//# sourceMappingURL=discountfixedrepeatdurationbase.d.ts.map