import type * as ElevenLabs from "../../api/index";
import * as core from "../../core";
import type * as serializers from "../index";
import { BillingPeriod } from "./BillingPeriod";
import { CharacterRefreshPeriod } from "./CharacterRefreshPeriod";
import { ExtendedSubscriptionResponseModelCurrency } from "./ExtendedSubscriptionResponseModelCurrency";
import { ExtendedSubscriptionResponseModelPendingChange } from "./ExtendedSubscriptionResponseModelPendingChange";
import { InvoiceResponse } from "./InvoiceResponse";
import { SubscriptionStatusType } from "./SubscriptionStatusType";
export declare const Subscription: core.serialization.ObjectSchema<serializers.Subscription.Raw, ElevenLabs.Subscription>;
export declare namespace Subscription {
    interface Raw {
        tier: string;
        character_count: number;
        character_limit: number;
        max_character_limit_extension?: number | null;
        can_extend_character_limit: boolean;
        allowed_to_extend_character_limit: boolean;
        next_character_count_reset_unix?: number | null;
        voice_slots_used: number;
        professional_voice_slots_used: number;
        voice_limit: number;
        max_voice_add_edits?: number | null;
        voice_add_edit_counter: number;
        professional_voice_limit: number;
        can_extend_voice_limit: boolean;
        can_use_instant_voice_cloning: boolean;
        can_use_professional_voice_cloning: boolean;
        currency?: ExtendedSubscriptionResponseModelCurrency.Raw | null;
        status: SubscriptionStatusType.Raw;
        billing_period?: BillingPeriod.Raw | null;
        character_refresh_period?: CharacterRefreshPeriod.Raw | null;
        next_invoice?: InvoiceResponse.Raw | null;
        open_invoices: InvoiceResponse.Raw[];
        has_open_invoices: boolean;
        pending_change?: ExtendedSubscriptionResponseModelPendingChange.Raw | null;
    }
}
