import { HttpClient } from '../utils/http-client';
import { AuthService } from './auth-service';
import { MyInvoisConfig } from '../config';
/**
 * Service for retrieving code tables from MyInvois API
 */
export declare class CodeService {
    private httpClient;
    private authService;
    private config;
    private codeTablesCache;
    /**
     * Creates a new code service
     * @param httpClient The HTTP client to use
     * @param authService The authentication service to use
     * @param config The MyInvois configuration
     */
    constructor(httpClient: HttpClient, authService: AuthService, config: MyInvoisConfig);
    /**
     * Get the transaction URL
     * @returns The transaction URL
     */
    private getTransactionUrl;
    /**
     * Get a code table from the API
     * @param codeType The type of code table to retrieve
     * @returns A promise resolving to the code table
     */
    getCodeTable(codeType: string): Promise<any>;
    /**
     * Get all document types
     * @param authTIN The TIN to use for authentication (optional)
     * @returns A promise resolving to the document types
     */
    getDocumentTypes(authTIN?: string): Promise<any>;
    /**
     * Get all currency codes
     * @param authTIN The TIN to use for authentication (optional)
     * @returns A promise resolving to the currency codes
     */
    getCurrencyCodes(authTIN?: string): Promise<any>;
    /**
     * Get all state codes
     * @returns A promise resolving to the state codes
     */
    getStateCodes(): Promise<any>;
    /**
     * Get all country codes
     * @param authTIN The TIN to use for authentication (optional)
     * @returns A promise resolving to the country codes
     */
    getCountryCodes(authTIN?: string): Promise<any>;
    /**
     * Get all tax types
     * @returns A promise resolving to the tax types
     */
    getTaxTypes(): Promise<any>;
    /**
     * Get all industry codes (MSIC)
     * @returns A promise resolving to the industry codes
     */
    getMSICCodes(): Promise<any>;
    /**
     * Get all unit codes
     * @returns A promise resolving to the unit codes
     */
    getUnitCodes(): Promise<any>;
    /**
     * Get all payment means codes
     * @returns A promise resolving to the payment means codes
     */
    getPaymentMethods(): Promise<any>;
    /**
     * Get all commodity classification codes
     * @returns A promise resolving to the commodity classification codes
     */
    getClassificationCodes(): Promise<any>;
    /**
     * Get all tax codes
     * @param authTIN The TIN to use for authentication (optional)
     * @returns A promise resolving to the tax codes
     */
    getTaxCodes(authTIN?: string): Promise<any>;
    /**
     * Clear the code tables cache
     */
    clearCache(): void;
}
