import * as Schema from "effect/Schema";
export declare const PostPlansPlanInput: Schema.Struct<{
    readonly plan: Schema.String;
    readonly active: Schema.optional<Schema.Boolean>;
    readonly expand: Schema.optional<Schema.$Array<Schema.String>>;
    readonly metadata: Schema.optional<Schema.Unknown>;
    readonly nickname: Schema.optional<Schema.String>;
    readonly product: Schema.optional<Schema.String>;
    readonly trial_period_days: Schema.optional<Schema.Number>;
}>;
export type PostPlansPlanInput = typeof PostPlansPlanInput.Type;
export declare const PostPlansPlanOutput: 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"]>;
}>;
export type PostPlansPlanOutput = typeof PostPlansPlanOutput.Type;
/**
 * Update a plan
 *
 * <p>Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.</p>
 */
export declare const PostPlansPlan: import("@distilled.cloud/core/client").OperationMethod<{
    readonly active?: boolean | undefined;
    readonly expand?: readonly string[] | undefined;
    readonly metadata?: unknown;
    readonly nickname?: string | undefined;
    readonly plan: string;
    readonly product?: string | undefined;
    readonly trial_period_days?: number | undefined;
}, {
    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";
}, never, import("..").Credentials>;
//# sourceMappingURL=PostPlansPlan.d.ts.map