/** Api Error Response */ export interface IApiErrorResponse { /** error message */ message: string; } /** Api Error Response */ export interface IApiValidationError extends IApiErrorResponse { /** attribute name */ attribute: string; /** attribute value */ value: any; } /** Api Validation Error Response */ export interface IApiValidationErrorResponse extends IApiErrorResponse { /** validation errors */ errors: IApiValidationError[]; } export interface IFetchApiContent { /** response text */ text?: string; /** response json */ json?: T; } /** A simple response (for error cases!) */ export interface ISimpleResponse { /** Status code (generally set to 0) */ status: number; /** Indicates if the response is ok */ ok: boolean; } /** The possible Fetch Response Type */ export declare type FetchResponse = Response | ISimpleResponse; /** Indicates if the response is a Response */ export declare function isResponse(response: FetchResponse): response is Response; /** Fetch Api response */ export interface IFetchApiResponse extends IFetchApiContent { /** the native response */ response: FetchResponse; } /** Fetch Api Failure */ export interface IFetchApiFailure extends IFetchApiContent { /** the native response */ response: FetchResponse; /** validation errors */ validations?: IApiValidationError[]; }