import { IntegrationConfig } from './config'; import { WhitehatAppScan, WhitehatAsset, WhitehatEventSubscriptionsResponse, WhitehatSiteScan, WhitehatCurrentUser, WhitehatUser, WhitehatGroup, WhitehatRoleResponse, WhitehatSite, WhitehatApplication, WhitehatFinding, WhitehatCodebaseResponse, WhitehatAppliance, WhitehatEndpoint, WhitehatComponent } from './types'; export declare type ResourceIteratee = (each: T) => Promise | void; /** * An APIClient maintains authentication state and provides an interface to * third party data APIs. * * It is recommended that integrations wrap provider data APIs to provide a * place to handle error responses and implement common patterns for iterating * resources. */ export declare class APIClient { readonly config: IntegrationConfig; constructor(config: IntegrationConfig); private baseUri; private withBaseUri; private limit; private checkStatus; private request; private paginatedRequest; verifyAuthentication(): Promise; iterateAppliances(iteratee: ResourceIteratee): Promise; iterateApplicationScans(appId: number, iteratee: ResourceIteratee): Promise; iterateAssets(iteratee: ResourceIteratee): Promise; iterateComponents(iteratee: ResourceIteratee, appId: number): Promise; iterateFindings(iteratee: ResourceIteratee, query?: string): Promise; iterateGroups(iteratee: ResourceIteratee): Promise; iterateUsers(iteratee: ResourceIteratee, query?: string): Promise; getApplication(applicationId: number): Promise; getCodebases(appId: number): Promise; getCurrentUser(): Promise; getEndpoint(siteId: number): Promise; getEventSubscriptions(): Promise; getRoles(): Promise; getSite(siteId: number): Promise; getSiteScans(siteId: number): Promise; } export declare function createAPIClient(config: IntegrationConfig): APIClient;