import { AuthConfig, ServerType } from '@sasjs/utils/types'; import { ExtraResponseAttributes } from '@sasjs/utils/types'; export declare type ExecuteFunction = () => Promise; export interface JobExecutor { execute: (sasJob: string, data: any, config: any, loginRequiredCallback?: any, authConfig?: AuthConfig, extraResponseAttributes?: ExtraResponseAttributes[]) => Promise; resendWaitingRequests: () => Promise; } export declare abstract class BaseJobExecutor implements JobExecutor { protected serverUrl: string; protected serverType: ServerType; constructor(serverUrl: string, serverType: ServerType); private waitingRequests; abstract execute(sasJob: string, data: any, config: any, loginRequiredCallback?: any, authConfig?: AuthConfig | undefined, extraResponseAttributes?: ExtraResponseAttributes[]): Promise; resendWaitingRequests: () => Promise; protected appendWaitingRequest(request: ExecuteFunction): void; protected getRequestParams(config: any): any; }