export interface BillingCycle {
    frequency: Frequency;
    tenure_type: string;
    sequence: number;
    total_cycles: number;
    pricing_scheme: PricingScheme;
}
export interface Frequency {
    interval_unit: string;
    interval_count: number;
}
export interface PricingScheme {
    fixed_price: FixedPrice;
}
export interface FixedPrice {
    value: string;
    currency_code: string;
}
export interface PaymentPreferences {
    auto_bill_outstanding: boolean;
    setup_fee: SetupFee;
    setup_fee_failure_action: string;
    payment_failure_threshold: number;
}
export interface SetupFee {
    value: string;
    currency_code: string;
}
export interface Taxes {
    percentage: string;
    inclusive: boolean;
}
export interface ClientMetadata {
    name: string;
    display_name: string;
    logo_uri: string;
    scopes: string[];
    ui_type: string;
}
export interface BillingCycle {
    pricing_scheme: PricingScheme;
    frequency: Frequency;
    tenure_type: string;
    sequence: number;
    total_cycles: number;
}
export interface PricingScheme {
    version: number;
    fixed_price: FixedPrice;
    create_time: string;
    update_time: string;
}
export interface FixedPrice {
    currency_code: string;
    value: string;
}
export interface Frequency {
    interval_unit: string;
    interval_count: number;
}
export interface PaymentPreferences {
    service_type: string;
    auto_bill_outstanding: boolean;
    setup_fee: SetupFee;
    setup_fee_failure_action: string;
    payment_failure_threshold: number;
}
export interface SetupFee {
    currency_code: string;
    value: string;
}
export interface Taxes {
    percentage: string;
    inclusive: boolean;
}
export interface Link {
    href: string;
    rel: string;
    method: string;
    encType: string;
}
export interface ShippingAmount {
    currency_code: string;
    value: string;
}
export interface Subscriber {
    name: Name;
    email_address: string;
    shipping_address: ShippingAddress;
}
export interface Name {
    given_name: string;
    surname: string;
}
export interface ShippingAddress {
    name: Name2;
    address: Address;
}
export interface Name2 {
    full_name: string;
}
export interface Address {
    address_line_1: string;
    address_line_2: string;
    admin_area_2: string;
    admin_area_1: string;
    postal_code: string;
    country_code: string;
}
declare enum ShippingPreference {
    GET_FROM_FILE = "GET_FROM_FILE",
    NO_SHIPPING = "NO_SHIPPING",
    SET_PROVIDED_ADDRESS = "SET_PROVIDED_ADDRESS"
}
declare enum UserAction {
    CONTINUE = "CONTINUE",
    SUBSCRIBE_NOW = "SUBSCRIBE_NOW"
}
export interface ApplicationContext {
    brand_name?: string;
    locale: string;
    shipping_preference?: ShippingPreference;
    user_action?: UserAction;
    payment_method?: PaymentMethod;
    return_url: string;
    cancel_url: string;
}
declare enum PayeePreferred {
    UNRESTRICTED = "UNRESTRICTED",
    IMMEDIATE_PAYMENT_REQUIRED = "IMMEDIATE_PAYMENT_REQUIRED"
}
export interface PaymentMethod {
    payer_selected: string;
    payee_preferred: PayeePreferred;
}
export interface PurchaseUnit {
    reference_id: string;
    amount: Amount;
    payee: Payee;
}
export interface Amount {
    currency_code: string;
    value: string;
    breakdown: Breakdown;
}
export interface Breakdown {
    item_total: ItemTotal;
}
export interface ItemTotal {
    currency_code: string;
    value: string;
}
export interface Payee {
    email_address: string;
    merchant_id: string;
}
export {};
