import * as z from "zod/v4-mini";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const PublicSubscriptionProrationBehavior: {
    readonly Invoice: "invoice";
    readonly Prorate: "prorate";
    readonly NextPeriod: "next_period";
};
export type PublicSubscriptionProrationBehavior = OpenEnum<typeof PublicSubscriptionProrationBehavior>;
export type OrganizationSubscriptionSettings = {
    allowMultipleSubscriptions: boolean;
    prorationBehavior: PublicSubscriptionProrationBehavior;
    benefitRevocationGracePeriod: number;
    preventTrialAbuse: boolean;
    allowCustomerUpdates: boolean;
};
/** @internal */
export declare const PublicSubscriptionProrationBehavior$inboundSchema: z.ZodMiniType<PublicSubscriptionProrationBehavior, unknown>;
/** @internal */
export declare const PublicSubscriptionProrationBehavior$outboundSchema: z.ZodMiniType<string, PublicSubscriptionProrationBehavior>;
/** @internal */
export declare const OrganizationSubscriptionSettings$inboundSchema: z.ZodMiniType<OrganizationSubscriptionSettings, unknown>;
/** @internal */
export type OrganizationSubscriptionSettings$Outbound = {
    allow_multiple_subscriptions: boolean;
    proration_behavior: string;
    benefit_revocation_grace_period: number;
    prevent_trial_abuse: boolean;
    allow_customer_updates: boolean;
};
/** @internal */
export declare const OrganizationSubscriptionSettings$outboundSchema: z.ZodMiniType<OrganizationSubscriptionSettings$Outbound, OrganizationSubscriptionSettings>;
export declare function organizationSubscriptionSettingsToJSON(organizationSubscriptionSettings: OrganizationSubscriptionSettings): string;
export declare function organizationSubscriptionSettingsFromJSON(jsonString: string): SafeParseResult<OrganizationSubscriptionSettings, SDKValidationError>;
//# sourceMappingURL=organizationsubscriptionsettings.d.ts.map