import * as Schema from "effect/Schema";
export declare const GetCouponsInput: Schema.Struct<{
    readonly created: Schema.optional<Schema.String>;
    readonly ending_before: Schema.optional<Schema.String>;
    readonly expand: Schema.optional<Schema.String>;
    readonly limit: Schema.optional<Schema.Number>;
    readonly starting_after: Schema.optional<Schema.String>;
}>;
export type GetCouponsInput = typeof GetCouponsInput.Type;
export declare const GetCouponsOutput: Schema.Struct<{
    readonly data: Schema.$Array<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;
    }>>;
    readonly has_more: Schema.Boolean;
    readonly object: Schema.Literals<readonly ["list"]>;
    readonly url: Schema.String;
}>;
export type GetCouponsOutput = typeof GetCouponsOutput.Type;
/**
 * List all coupons
 *
 * <p>Returns a list of your coupons.</p>
 *
 * @param created - A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.
 * @param ending_before - A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
 * @param expand - Specifies which fields in the response should be expanded.
 * @param limit - A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
 * @param starting_after - A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
 */
export declare const GetCoupons: import("@distilled.cloud/core/client").OperationMethod<{
    readonly created?: string | undefined;
    readonly ending_before?: string | undefined;
    readonly expand?: string | undefined;
    readonly limit?: number | undefined;
    readonly starting_after?: string | undefined;
}, {
    readonly data: readonly {
        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;
    }[];
    readonly has_more: boolean;
    readonly object: "list";
    readonly url: string;
}, never, any>;
//# sourceMappingURL=GetCoupons.d.ts.map