import * as TaxjarTypes from './util/types';
declare class Taxjar {
    static DEFAULT_API_URL: string;
    static SANDBOX_API_URL: string;
    static API_VERSION: string;
    static Error: typeof TaxjarTypes.TaxjarError;
    private config;
    private request;
    constructor(config: TaxjarTypes.Config);
    getApiConfig(index: string): any;
    setApiConfig(index: string, value: any): void;
    categories(): Promise<TaxjarTypes.CategoriesRes>;
    taxForOrder(params: TaxjarTypes.TaxParams): Promise<TaxjarTypes.TaxForOrderRes>;
    listOrders(params?: TaxjarTypes.TransactionListParams): Promise<TaxjarTypes.ListOrdersRes>;
    showOrder(transactionId: string, params?: TaxjarTypes.TransactionShowParams): Promise<TaxjarTypes.ShowOrderRes>;
    createOrder(params: TaxjarTypes.CreateOrderParams): Promise<TaxjarTypes.CreateOrderRes>;
    updateOrder(params: TaxjarTypes.UpdateOrderParams): Promise<TaxjarTypes.UpdateOrderRes>;
    deleteOrder(transactionId: string, params?: TaxjarTypes.TransactionDeleteParams): Promise<TaxjarTypes.DeleteOrderRes>;
    listRefunds(params?: TaxjarTypes.TransactionListParams): Promise<TaxjarTypes.ListRefundsRes>;
    showRefund(transactionId: string, params?: TaxjarTypes.TransactionShowParams): Promise<TaxjarTypes.ShowRefundRes>;
    createRefund(params: TaxjarTypes.CreateRefundParams): Promise<TaxjarTypes.CreateRefundRes>;
    updateRefund(params: TaxjarTypes.UpdateRefundParams): Promise<TaxjarTypes.UpdateRefundRes>;
    deleteRefund(transactionId: string, params?: TaxjarTypes.TransactionDeleteParams): Promise<TaxjarTypes.DeleteRefundRes>;
    listCustomers(): Promise<TaxjarTypes.ListCustomersRes>;
    showCustomer(customerId: string): Promise<TaxjarTypes.ShowCustomerRes>;
    createCustomer(params: TaxjarTypes.CustomerParams): Promise<TaxjarTypes.CreateCustomerRes>;
    updateCustomer(params: TaxjarTypes.CustomerParams): Promise<TaxjarTypes.UpdateCustomerRes>;
    deleteCustomer(customerId: string): Promise<TaxjarTypes.DeleteCustomerRes>;
    ratesForLocation(zip: string, params?: TaxjarTypes.RateParams): Promise<TaxjarTypes.RatesForLocationRes>;
    nexusRegions(): Promise<TaxjarTypes.NexusRegionsRes>;
    validateAddress(params: TaxjarTypes.AddressParams): Promise<TaxjarTypes.ValidateAddressRes>;
    validate(params: TaxjarTypes.ValidateParams): Promise<TaxjarTypes.ValidateRes>;
    summaryRates(): Promise<TaxjarTypes.SummaryRatesRes>;
}
export = Taxjar;
