import { Logger } from '@rocketmakers/log'; import { IValidationErrorDetail } from '@rocketmakers/validation/lib/ValidationErrors'; export interface IBaseResponse { kind: string; } export interface IOkResponse extends IBaseResponse { kind: 'ok'; result: T; } export interface IUnknownError extends IBaseResponse { kind: 'UnknownError'; error: string; } export interface IApiErrorResponse extends IBaseResponse { message?: string; } export interface IArgumentError extends IApiErrorResponse { kind: 'ArgumentError'; } export interface IArgumentValidationError extends IApiErrorResponse { kind: 'ArgumentValidationError'; } export interface IConfigurationError extends IApiErrorResponse { kind: 'ConfigurationError'; } export interface IValidationError extends IApiErrorResponse { kind: 'ValidationError'; errors: IValidationErrorDetail[]; } export type ApiErrorResponse = IUnknownError | IArgumentError | IArgumentValidationError | IConfigurationError | IValidationError; export type IOrbitResponse = Promise | ApiErrorResponse | K>; export interface IResourceNotFound extends IBaseResponse { kind: `${T}NotFound`; } export declare function buildNotFoundResponseKind(resourceName: T): `${T}NotFound`; export declare function buildNotFoundResponse(resourceName: T, logger: Logger, loggerMessage: string): IResourceNotFound; export declare function buildCustomResponse(responseKind: string, logger: Logger, loggerMessage: string): T; //# sourceMappingURL=coreResponses.d.ts.map