import { TaxCertificate } from '../models/TaxCertificate'; import { ListPage } from '../models/ListPage'; import { TaxCode } from '../models/TaxCode'; import { RequiredDeep } from '../models/RequiredDeep'; import { ListArgs } from '../models/ListArgs'; export default class Avalaras { private impersonating; /** * @ignore * not part of public api, don't include in generated docs */ constructor(); /** * @param companyID ID of the company. * @param locationID ID of the location. * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ GetCertificate(companyID: number, locationID: string, accessToken?: string): Promise>; /** * @param companyID ID of the company. * @param locationID ID of the location. * @param taxCertificate Required fields: SignedDate, ExpirationDate, ExposureZoneName, Base64UrlEncodedPDF * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ CreateCertificate(companyID: number, locationID: string, taxCertificate: TaxCertificate, accessToken?: string): Promise>; /** * @param companyID ID of the company. * @param locationID ID of the location. * @param taxCertificate Required fields: SignedDate, ExpirationDate, ExposureZoneName, Base64UrlEncodedPDF * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ UpdateCertificate(companyID: number, locationID: string, taxCertificate: TaxCertificate, accessToken?: string): Promise>; /** * @param companyID ID of the company. * @param locationID ID of the location. * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ DownloadCertificate(companyID: number, locationID: string, accessToken?: string): Promise; /** * @param options.search Word or phrase to search for. * @param options.searchOn Comma-delimited list of fields to search on. * @param options.sortBy Comma-delimited list of fields to sort by. * @param options.page Page of results to return. Default: 1 * @param options.pageSize Number of results to return per page. Default: 20, max: 100. * @param options.filters An object whose keys match the model, and the values are the values to filter by * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ ListTaxCodes(options?: ListArgs, accessToken?: string): Promise>>; /** * @description * enables impersonation by calling the subsequent method with the stored impersonation token * * @example * Avalaras.As().List() // lists Avalaras using the impersonated users' token */ As(): this; }