/*!
 * Copyright Adaptavist 2023 (c) All rights reserved
 */
import { BaseErrorStrategyHandlers, BaseErrorStrategyOption, CustomErrorHandler, ErrorStrategyBuilderConstructor, Response, AnythingButUndefined } from '@managed-api/commons-core';
import { ErrorStrategyBuilder } from './builders/errorStrategy';
export interface CommonError {
    errors: {
        message: string;
    }[];
    account_id: number;
}
export interface MondayErrorType {
    error_message?: string;
    errors?: {
        message: string;
    }[];
}
export declare class MondayError<Err = MondayErrorType> extends Error {
    response: Response<Err>;
    name: string;
    constructor(response: Response<Err>, message: string);
}
export declare type AdditionalErrorTypes = MondayError;
export interface ErrorStrategyHandlers extends BaseErrorStrategyHandlers<CommonError, AdditionalErrorTypes> {
    handleMondayError?(error: MondayError, attempt: number): AnythingButUndefined;
}
export interface ErrorStrategyOption extends BaseErrorStrategyOption<CommonError, AdditionalErrorTypes, ErrorStrategyHandlers, ErrorStrategyBuilder> {
}
export declare const customErrorHandlers: CustomErrorHandler[];
export declare const errorStrategyBuilderConstructor: ErrorStrategyBuilderConstructor<CommonError, AdditionalErrorTypes, ErrorStrategyHandlers, ErrorStrategyBuilder>;
//# sourceMappingURL=errorStrategy.d.ts.map