import { NetSuiteHttpMethod } from './types'; import type { ILogger } from './types/logger.types'; interface NetSuiteCredentials { accountId: string; integrationClientId: string; certificateId: string; privateKey: string; } export declare class NetSuiteService { private accountId; private integrationClientId; private certificateId; private privateKey; private authEndpointUrl; private tokenCache; private retryConfig; private logger?; constructor(credentials: NetSuiteCredentials, maxRetries?: number, logger?: ILogger); private createClientAssertion; private getAccessToken; private _makeRequest; suitetalkRequest(endpoint: string, method: NetSuiteHttpMethod, data?: any, extraHeaders?: Record): Promise; restletRequest(scriptId: string, deployId: string, method: NetSuiteHttpMethod, data?: any, queryParams?: Record, extraHeaders?: Record): Promise; executeSuiteQLQuery(query: string, options?: { limit?: number; offset?: number; }): Promise; listRecords(recordType: string, options?: { limit?: number; offset?: number; q?: string; }): Promise; getRecord(recordType: string, recordId: string): Promise; createRecord(recordType: string, recordData: any): Promise; updateRecord(recordType: string, recordId: string, recordData: any): Promise; deleteRecord(recordType: string, recordId: string): Promise; } export {};