import { Boom } from '@meshwatch/types';
import { ServiceResponse } from '../types';
declare abstract class BaseService {
    protected errorServiceResponse: <T>(error: Error) => ServiceResponse<Boom<T>>;
    protected serviceResponseFromBoom: <T>(boom: Boom<T>) => ServiceResponse<Boom<T>>;
    protected serviceResponse: <T>(body: T) => ServiceResponse<T>;
    protected tryExecute: <T, E>(f: () => Promise<ServiceResponse<T>>) => Promise<ServiceResponse<T | Boom<Partial<E & {
        non_field_errors?: string | undefined;
    }>>>>;
}
export default BaseService;
