import HttpError from "../../infrastructure/http/HttpError";
export interface ApiResponse<T = any> {
    status: number;
    headers: Headers;
    body: T;
    rawBody: any;
    json: any;
}
export interface ApiClient {
    key?: string;
}
export interface ErrorHandlingStrategy {
    handleNetworkError?: (error: HttpError) => void;
    handleUnauthorizedError?: (error: HttpError) => void;
    handleForbiddenError?: (error: HttpError) => void;
    handleInvalidClientError?: (error: HttpError) => void;
    handleGenericError?: (error: HttpError, status: number) => void;
    shouldShowToast?: (error: HttpError, status: number) => boolean;
    getErrorTitle?: () => string;
}
export interface Options extends RequestInit {
    client?: ApiClient;
    skipErrorToast?: boolean;
    errorHandling?: ErrorHandlingStrategy;
    skipCsrf?: boolean;
}
