import { RequestWrapper } from "../request_wrapper";
import { Model } from "./model";
export declare class Purchase extends Model {
    id?: string;
    customer_id: string;
    created_at?: number;
    modified_at?: number;
    subscription_ids?: Array<string>;
    invoice_ids?: Array<string>;
    static create(params?: _purchase.create_params): RequestWrapper;
    static estimate(params?: _purchase.estimate_params): RequestWrapper;
}
export declare namespace _purchase {
    interface create_params {
        customer_id: string;
        payment_source_id?: string;
        invoice_info?: invoice_info_create_params;
        payment_schedule?: payment_schedule_create_params;
        statement_descriptor?: statement_descriptor_create_params;
        payment_intent?: payment_intent_create_params;
        purchase_items?: Array<purchase_items_create_params>;
        item_tiers?: Array<item_tiers_create_params>;
        shipping_addresses?: Array<shipping_addresses_create_params>;
        discounts?: Array<discounts_create_params>;
        subscription_info?: Array<subscription_info_create_params>;
        contract_terms?: Array<contract_terms_create_params>;
    }
    interface estimate_params {
        client_profile_id?: string;
        customer_id?: string;
        customer?: customer_estimate_params;
        billing_address?: billing_address_estimate_params;
        purchase_items?: Array<purchase_items_estimate_params>;
        item_tiers?: Array<item_tiers_estimate_params>;
        shipping_addresses?: Array<shipping_addresses_estimate_params>;
        discounts?: Array<discounts_estimate_params>;
        subscription_info?: Array<subscription_info_estimate_params>;
        contract_terms?: Array<contract_terms_estimate_params>;
    }
    interface invoice_info_create_params {
        po_number?: string;
    }
    interface invoice_info_create_params {
        notes?: string;
    }
    interface payment_schedule_create_params {
        scheme_id?: string;
    }
    interface payment_schedule_create_params {
        amount?: number;
    }
    interface statement_descriptor_create_params {
        descriptor?: string;
    }
    interface payment_intent_create_params {
        id?: string;
    }
    interface payment_intent_create_params {
        gateway_account_id?: string;
    }
    interface payment_intent_create_params {
        gw_token?: string;
    }
    interface payment_intent_create_params {
        payment_method_type?: string;
    }
    interface payment_intent_create_params {
        reference_id?: string;
    }
    interface payment_intent_create_params {
        /**
         * @deprecated Please refer API docs to use other attributes
         */
        gw_payment_method_id?: string;
    }
    interface payment_intent_create_params {
        additional_information?: any;
    }
    interface purchase_items_create_params {
        index: number;
    }
    interface purchase_items_create_params {
        item_price_id: string;
    }
    interface purchase_items_create_params {
        quantity?: number;
    }
    interface purchase_items_create_params {
        unit_amount?: number;
    }
    interface purchase_items_create_params {
        unit_amount_in_decimal?: string;
    }
    interface purchase_items_create_params {
        quantity_in_decimal?: string;
    }
    interface item_tiers_create_params {
        index: number;
    }
    interface item_tiers_create_params {
        item_price_id?: string;
    }
    interface item_tiers_create_params {
        starting_unit?: number;
    }
    interface item_tiers_create_params {
        ending_unit?: number;
    }
    interface item_tiers_create_params {
        price?: number;
    }
    interface item_tiers_create_params {
        starting_unit_in_decimal?: string;
    }
    interface item_tiers_create_params {
        ending_unit_in_decimal?: string;
    }
    interface item_tiers_create_params {
        price_in_decimal?: string;
    }
    interface shipping_addresses_create_params {
        first_name?: string;
    }
    interface shipping_addresses_create_params {
        last_name?: string;
    }
    interface shipping_addresses_create_params {
        email?: string;
    }
    interface shipping_addresses_create_params {
        company?: string;
    }
    interface shipping_addresses_create_params {
        phone?: string;
    }
    interface shipping_addresses_create_params {
        line1?: string;
    }
    interface shipping_addresses_create_params {
        line2?: string;
    }
    interface shipping_addresses_create_params {
        line3?: string;
    }
    interface shipping_addresses_create_params {
        city?: string;
    }
    interface shipping_addresses_create_params {
        state?: string;
    }
    interface shipping_addresses_create_params {
        state_code?: string;
    }
    interface shipping_addresses_create_params {
        country?: string;
    }
    interface shipping_addresses_create_params {
        zip?: string;
    }
    interface shipping_addresses_create_params {
        validation_status?: string;
    }
    interface discounts_create_params {
        index?: number;
    }
    interface discounts_create_params {
        coupon_id?: string;
    }
    interface discounts_create_params {
        percentage?: number;
    }
    interface discounts_create_params {
        amount?: number;
    }
    interface discounts_create_params {
        included_in_mrr?: boolean;
    }
    interface subscription_info_create_params {
        index: number;
    }
    interface subscription_info_create_params {
        subscription_id?: string;
    }
    interface subscription_info_create_params {
        billing_cycles?: number;
    }
    interface subscription_info_create_params {
        contract_term_billing_cycle_on_renewal?: number;
    }
    interface contract_terms_create_params {
        index: number;
    }
    interface contract_terms_create_params {
        action_at_term_end?: string;
    }
    interface contract_terms_create_params {
        cancellation_cutoff_period?: number;
    }
    interface subscription_info_create_params {
        meta_data?: any;
    }
    interface customer_estimate_params {
        vat_number?: string;
    }
    interface customer_estimate_params {
        vat_number_prefix?: string;
    }
    interface customer_estimate_params {
        registered_for_gst?: boolean;
    }
    interface customer_estimate_params {
        taxability?: string;
    }
    interface customer_estimate_params {
        entity_code?: string;
    }
    interface customer_estimate_params {
        exempt_number?: string;
    }
    interface customer_estimate_params {
        exemption_details?: any;
    }
    interface customer_estimate_params {
        customer_type?: string;
    }
    interface billing_address_estimate_params {
        line1?: string;
    }
    interface billing_address_estimate_params {
        line2?: string;
    }
    interface billing_address_estimate_params {
        line3?: string;
    }
    interface billing_address_estimate_params {
        city?: string;
    }
    interface billing_address_estimate_params {
        state_code?: string;
    }
    interface billing_address_estimate_params {
        zip?: string;
    }
    interface billing_address_estimate_params {
        country?: string;
    }
    interface billing_address_estimate_params {
        validation_status?: string;
    }
    interface purchase_items_estimate_params {
        index: number;
    }
    interface purchase_items_estimate_params {
        item_price_id: string;
    }
    interface purchase_items_estimate_params {
        quantity?: number;
    }
    interface purchase_items_estimate_params {
        unit_amount?: number;
    }
    interface purchase_items_estimate_params {
        unit_amount_in_decimal?: string;
    }
    interface purchase_items_estimate_params {
        quantity_in_decimal?: string;
    }
    interface item_tiers_estimate_params {
        index: number;
    }
    interface item_tiers_estimate_params {
        item_price_id?: string;
    }
    interface item_tiers_estimate_params {
        starting_unit?: number;
    }
    interface item_tiers_estimate_params {
        ending_unit?: number;
    }
    interface item_tiers_estimate_params {
        price?: number;
    }
    interface item_tiers_estimate_params {
        starting_unit_in_decimal?: string;
    }
    interface item_tiers_estimate_params {
        ending_unit_in_decimal?: string;
    }
    interface item_tiers_estimate_params {
        price_in_decimal?: string;
    }
    interface shipping_addresses_estimate_params {
        first_name?: string;
    }
    interface shipping_addresses_estimate_params {
        last_name?: string;
    }
    interface shipping_addresses_estimate_params {
        email?: string;
    }
    interface shipping_addresses_estimate_params {
        company?: string;
    }
    interface shipping_addresses_estimate_params {
        phone?: string;
    }
    interface shipping_addresses_estimate_params {
        line1?: string;
    }
    interface shipping_addresses_estimate_params {
        line2?: string;
    }
    interface shipping_addresses_estimate_params {
        line3?: string;
    }
    interface shipping_addresses_estimate_params {
        city?: string;
    }
    interface shipping_addresses_estimate_params {
        state?: string;
    }
    interface shipping_addresses_estimate_params {
        state_code?: string;
    }
    interface shipping_addresses_estimate_params {
        country?: string;
    }
    interface shipping_addresses_estimate_params {
        zip?: string;
    }
    interface shipping_addresses_estimate_params {
        validation_status?: string;
    }
    interface discounts_estimate_params {
        index?: number;
    }
    interface discounts_estimate_params {
        coupon_id?: string;
    }
    interface discounts_estimate_params {
        percentage?: number;
    }
    interface discounts_estimate_params {
        amount?: number;
    }
    interface discounts_estimate_params {
        included_in_mrr?: boolean;
    }
    interface subscription_info_estimate_params {
        index: number;
    }
    interface subscription_info_estimate_params {
        subscription_id?: string;
    }
    interface subscription_info_estimate_params {
        billing_cycles?: number;
    }
    interface subscription_info_estimate_params {
        contract_term_billing_cycle_on_renewal?: number;
    }
    interface contract_terms_estimate_params {
        index: number;
    }
    interface contract_terms_estimate_params {
        action_at_term_end?: string;
    }
    interface contract_terms_estimate_params {
        cancellation_cutoff_period?: number;
    }
}
