import * as Schema from "effect/Schema";
export declare const PostCouponsCouponInput: Schema.Struct<{
    readonly coupon: Schema.String;
    readonly currency_options: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
        readonly amount_off: Schema.Number;
    }>>>;
    readonly expand: Schema.optional<Schema.$Array<Schema.String>>;
    readonly metadata: Schema.optional<Schema.Unknown>;
    readonly name: Schema.optional<Schema.String>;
}>;
export type PostCouponsCouponInput = typeof PostCouponsCouponInput.Type;
export declare const PostCouponsCouponOutput: Schema.Struct<{
    readonly amount_off: Schema.NullOr<Schema.Number>;
    readonly applies_to: Schema.optional<Schema.Struct<{
        readonly products: Schema.$Array<Schema.String>;
    }>>;
    readonly created: Schema.Number;
    readonly currency: Schema.NullOr<Schema.String>;
    readonly currency_options: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
        readonly amount_off: Schema.Number;
    }>>>;
    readonly duration: Schema.Literals<readonly ["forever", "once", "repeating"]>;
    readonly duration_in_months: Schema.NullOr<Schema.Number>;
    readonly id: Schema.String;
    readonly livemode: Schema.Boolean;
    readonly max_redemptions: Schema.NullOr<Schema.Number>;
    readonly metadata: Schema.NullOr<Schema.$Record<Schema.String, Schema.String>>;
    readonly name: Schema.NullOr<Schema.String>;
    readonly object: Schema.Literals<readonly ["coupon"]>;
    readonly percent_off: Schema.NullOr<Schema.Number>;
    readonly redeem_by: Schema.NullOr<Schema.Number>;
    readonly times_redeemed: Schema.Number;
    readonly valid: Schema.Boolean;
}>;
export type PostCouponsCouponOutput = typeof PostCouponsCouponOutput.Type;
/**
 * Update a coupon
 *
 * <p>Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.</p>
 */
export declare const PostCouponsCoupon: import("@distilled.cloud/core/client").OperationMethod<{
    readonly coupon: string;
    readonly currency_options?: {
        readonly [x: string]: {
            readonly amount_off: number;
        };
    } | undefined;
    readonly expand?: readonly string[] | undefined;
    readonly metadata?: unknown;
    readonly name?: string | undefined;
}, {
    readonly amount_off: number | null;
    readonly applies_to?: {
        readonly products: readonly string[];
    } | undefined;
    readonly created: number;
    readonly currency: string | null;
    readonly currency_options?: {
        readonly [x: string]: {
            readonly amount_off: number;
        };
    } | undefined;
    readonly duration: "forever" | "once" | "repeating";
    readonly duration_in_months: number | null;
    readonly id: string;
    readonly livemode: boolean;
    readonly max_redemptions: number | null;
    readonly metadata: {
        readonly [x: string]: string;
    } | null;
    readonly name: string | null;
    readonly object: "coupon";
    readonly percent_off: number | null;
    readonly redeem_by: number | null;
    readonly times_redeemed: number;
    readonly valid: boolean;
}, never, import("..").Credentials>;
//# sourceMappingURL=PostCouponsCoupon.d.ts.map