import Restful from '../../';
import { FulfillmentPolicyRequest, PaymentPolicyRequest, Program, ReturnPolicyRequest, SalesTaxBase } from '../../../../types';
import { PaymentsProgramType } from '../../../../enums';
/**
* The Account API gives sellers the ability to configure their eBay seller accounts,
* including the seller's policies (the Fulfillment Policy, Payment Policy, and Return Policy),
* opt in and out of eBay seller programs, configure sales tax tables, and get account information.
*/
export default class Account extends Restful {
static id: string;
get basePath(): string;
/**
* This method retrieves all the fulfillment policies configured for the marketplace you specify using the
* marketplace_id query parameter.
*
* @param marketplaceId This query parameter specifies the eBay marketplace of the policies you want to retrieve.
*/
getFulfillmentPolicies(marketplaceId: string): Promise;
/**
* This method creates a new fulfillment policy where the policy encapsulates seller's terms for fulfilling item
* purchases.
*
* @param body Request to create a seller account fulfillment policy.
*/
createFulfillmentPolicy(body: FulfillmentPolicyRequest): Promise;
/**
* This method updates an existing fulfillment policy.
*
* @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy you want to update.
* @param body Request to create a seller account fulfillment policy.
*/
updateFulfillmentPolicy(fulfillmentPolicyId: string, body: FulfillmentPolicyRequest): Promise;
/**
* This method deletes a fulfillment policy.
*
* @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy to delete.
*/
deleteFulfillmentPolicy(fulfillmentPolicyId: string): Promise;
/**
* This method retrieves the complete details of a fulfillment policy.
* Supply the ID of the policy you want to retrieve using the fulfillmentPolicyId path parameter.
*
* @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy you want to retrieve.
*/
getFulfillmentPolicy(fulfillmentPolicyId: string): Promise;
/**
* This method retrieves the complete details for a single fulfillment policy.
*
* @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.
* @param name This query parameter specifies the user-defined name of the fulfillment policy you want to retrieve.
*/
getFulfillmentPolicyByName(marketplaceId: string, name: string): Promise;
/**
* This method retrieves all the payment policies configured for the marketplace you specify using the
* marketplace_id query parameter.
*
* @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.
*/
getPaymentPolicies(marketplaceId: string): Promise;
/**
* This method retrieves the complete details of a payment policy. Supply the ID of the policy you want to retrieve
* using the paymentPolicyId path parameter.
*
* @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to retrieve.
*/
getPaymentPolicy(paymentPolicyId: string): Promise;
/**
* This method creates a new payment policy where the policy encapsulates seller's terms for purchase payments.
*
* @param body Payment policy request
*/
createPaymentPolicy(body: PaymentPolicyRequest): Promise;
/**
* This method updates an existing payment policy.
*
* @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to update.
* @param body Payment policy request
*/
updatePaymentPolicy(paymentPolicyId: string, body: PaymentPolicyRequest): Promise;
/**
* This method updates an existing payment policy.
*
* @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to delete.
*/
deletePaymentPolicy(paymentPolicyId: string): Promise;
/**
* This method retrieves the complete details of a single payment policy.
*
* @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.
* @param name This query parameter specifies the user-defined name of the payment policy you want to retrieve.
*/
getPaymentPolicyByName(marketplaceId: string, name: string): Promise;
/**
* This method returns whether or not the user is opted-in to the payment program.
*
* @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.
* @param paymentsProgramType This path parameter specifies the payments program whose status is returned by the
* call.
*/
getPaymentsProgram(marketplaceId: string, paymentsProgramType: PaymentsProgramType): Promise;
/**
* This method retrieves a seller's onboarding status of eBay managed payments for a specified marketplace.
*
* @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.
* @param paymentsProgramType This path parameter specifies the payments program whose status is returned by the
* call.
*/
getPaymentsProgramOnboarding(marketplaceId: string, paymentsProgramType: PaymentsProgramType): Promise;
/**
* This method retrieves the seller's current set of privileges.
*/
getPrivileges(): Promise;
/**
* This method gets a list of the seller programs that the seller has opted-in to.
*/
getOptedInPrograms(): Promise;
/**
* This method opts the seller in to an eBay seller program.
*
* @param body Program being opted-in to.
*/
optInToProgram(body?: Program): Promise;
/**
* This method opts the seller out of a seller program to which you have previously opted-in to.
*
* @param body Program being opted-out of.
*/
optOutOfProgram(body?: Program): Promise;
/**
* This method retrieves a seller's shipping rate tables for the country specified in the country_code query
* parameter.
*
* @param countryCode This query parameter specifies the two-letter ISO 3166-1 Alpha-2 code of country for which
* you want shipping-rate table information.
*/
getRateTables(countryCode?: string): Promise;
/**
* This method retrieves all the return policies configured for the marketplace you specify using the
* marketplace_id query parameter.
*
* @param marketplaceId This query parameter specifies the ID of the eBay marketplace of the policy you want to
* retrieve.
*/
getReturnPolicies(marketplaceId: string): Promise;
/**
* This method retrieves the complete details of the return policy specified by the returnPolicyId path parameter.
*
* @param returnPolicyId This path parameter specifies the of the return policy you want to retrieve.
*/
getReturnPolicy(returnPolicyId: string): Promise;
/**
* This method creates a new return policy where the policy encapsulates seller's terms for returning items.
*
* @param body Return policy request
*/
createReturnPolicy(body: ReturnPolicyRequest): Promise;
/**
* This method creates a new return policy where the policy encapsulates seller's terms for returning items.
*
* @param returnPolicyId This path parameter specifies the ID of the return policy you want to update.
* @param body Return policy request
*/
updateReturnPolicy(returnPolicyId: string, body: ReturnPolicyRequest): Promise;
/**
* This method deletes a return policy.
*
* @param returnPolicyId This path parameter specifies the ID of the return policy you want to delete.
*/
deleteReturnPolicy(returnPolicyId: string): Promise;
/**
* This method retrieves the complete details of a single return policy.
*
* @param marketplaceId This query parameter specifies the ID of the eBay marketplace of the policy you want to
* retrieve.
* @param name This query parameter specifies the user-defined name of the return policy you want to retrieve.
*/
getReturnPolicyByName(marketplaceId: string, name: string): Promise;
/**
* This call gets the current tax table entry for a specific tax jurisdiction.
*
* @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country whose
* tax table you want to retrieve.
* @param jurisdictionId This path parameter specifies the ID of the sales tax jurisdiction for the tax table entry
* you want to retrieve.
*/
getSalesTax(countryCode: string, jurisdictionId: string): Promise;
/**
* This method creates or updates a sales tax table entry for a jurisdiction.
*
* @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country for
* which you want to create tax table entry.
* @param jurisdictionId This path parameter specifies the ID of the sales-tax jurisdiction for the table entry you
* want to create.
* @param body A container that describes the how the sales tax is calculated.
*/
createOrReplaceSalesTax(countryCode: string, jurisdictionId: string, body: SalesTaxBase): Promise;
/**
* This call deletes a tax table entry for a jurisdiction.
*
* @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country for
* which you want to create tax table entry.
* @param jurisdictionId This path parameter specifies the ID of the sales-tax jurisdiction for the table entry you
* want to delete.
*/
deleteSalesTax(countryCode: string, jurisdictionId: string): Promise;
/**
* Use this call to retrieve a sales tax table that the seller established for a specific country.
*
* @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country whose
* tax table you want to retrieve.
*/
getSalesTaxes(countryCode: string): Promise;
/**
* his method is used by sellers onboarded for eBay managed payments, or sellers who are currently going through, or who are eligible for onboarding for eBay managed payments.
*/
getKYC(): Promise;
}