///
import { AxiosResponse } from 'axios';
import { EventEmitter } from 'events';
import { Values } from '@salto-io/adapter-api';
import { Credentials, Identity, MarketoResponse } from './types';
export declare type MarketoClientOpts = {
credentials: Credentials;
connection?: MarketoObjectAPI;
};
declare type RestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
export interface RequestOptions {
id?: string | number;
method?: RestMethod;
path?: string;
body?: Values;
qs?: Values;
}
export interface MarketoObjectAPI {
refreshAccessToken(): Promise;
request(requestOptions: RequestOptions): Promise;
}
export declare class Marketo extends EventEmitter implements MarketoObjectAPI {
credentials: Credentials;
private readonly api;
constructor(credentials: Credentials);
request(requestOptions: RequestOptions): Promise;
private isAccessTokenValid;
private getAccessToken;
refreshAccessToken(): Promise;
static success(response: AxiosResponse): MarketoResponse;
static validateResponse(response: AxiosResponse): void;
}
export {};
//# sourceMappingURL=marketo.d.ts.map