import * as Schema from "effect/Schema";
export declare const GetPlansInput: Schema.Struct<{
    readonly active: Schema.optional<Schema.Boolean>;
    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 product: Schema.optional<Schema.String>;
    readonly starting_after: Schema.optional<Schema.String>;
}>;
export type GetPlansInput = typeof GetPlansInput.Type;
export declare const GetPlansOutput: Schema.Struct<{
    readonly data: Schema.$Array<Schema.Struct<{
        readonly active: Schema.Boolean;
        readonly amount: Schema.NullOr<Schema.Number>;
        readonly amount_decimal: Schema.NullOr<Schema.String>;
        readonly billing_scheme: Schema.Literals<readonly ["per_unit", "tiered"]>;
        readonly created: Schema.Number;
        readonly currency: Schema.String;
        readonly id: Schema.String;
        readonly interval: Schema.Literals<readonly ["day", "month", "week", "year"]>;
        readonly interval_count: Schema.Number;
        readonly livemode: Schema.Boolean;
        readonly metadata: Schema.NullOr<Schema.$Record<Schema.String, Schema.String>>;
        readonly meter: Schema.NullOr<Schema.String>;
        readonly nickname: Schema.NullOr<Schema.String>;
        readonly object: Schema.Literals<readonly ["plan"]>;
        readonly product: Schema.Unknown;
        readonly tiers: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly flat_amount: Schema.NullOr<Schema.Number>;
            readonly flat_amount_decimal: Schema.NullOr<Schema.String>;
            readonly unit_amount: Schema.NullOr<Schema.Number>;
            readonly unit_amount_decimal: Schema.NullOr<Schema.String>;
            readonly up_to: Schema.NullOr<Schema.Number>;
        }>>>;
        readonly tiers_mode: Schema.NullOr<Schema.Literals<readonly ["graduated", "volume"]>>;
        readonly transform_usage: Schema.Unknown;
        readonly trial_period_days: Schema.NullOr<Schema.Number>;
        readonly usage_type: Schema.Literals<readonly ["licensed", "metered"]>;
    }>>;
    readonly has_more: Schema.Boolean;
    readonly object: Schema.Literals<readonly ["list"]>;
    readonly url: Schema.String;
}>;
export type GetPlansOutput = typeof GetPlansOutput.Type;
/**
 * List all plans
 *
 * <p>Returns a list of your plans.</p>
 *
 * @param active - Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans).
 * @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 product - Only return plans for the given product.
 * @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 GetPlans: import("@distilled.cloud/core/client").OperationMethod<{
    readonly active?: boolean | undefined;
    readonly created?: string | undefined;
    readonly ending_before?: string | undefined;
    readonly expand?: string | undefined;
    readonly limit?: number | undefined;
    readonly product?: string | undefined;
    readonly starting_after?: string | undefined;
}, {
    readonly data: readonly {
        readonly active: boolean;
        readonly amount: number | null;
        readonly amount_decimal: string | null;
        readonly billing_scheme: "per_unit" | "tiered";
        readonly created: number;
        readonly currency: string;
        readonly id: string;
        readonly interval: "day" | "month" | "week" | "year";
        readonly interval_count: number;
        readonly livemode: boolean;
        readonly metadata: {
            readonly [x: string]: string;
        } | null;
        readonly meter: string | null;
        readonly nickname: string | null;
        readonly object: "plan";
        readonly product: unknown;
        readonly tiers?: readonly {
            readonly flat_amount: number | null;
            readonly flat_amount_decimal: string | null;
            readonly unit_amount: number | null;
            readonly unit_amount_decimal: string | null;
            readonly up_to: number | null;
        }[] | undefined;
        readonly tiers_mode: "graduated" | "volume" | null;
        readonly transform_usage: unknown;
        readonly trial_period_days: number | null;
        readonly usage_type: "licensed" | "metered";
    }[];
    readonly has_more: boolean;
    readonly object: "list";
    readonly url: string;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=GetPlans.d.ts.map