export interface ApplicationError extends Error { readonly code: C; readonly data: D; toJson(): ApplicationError.Literal; } export declare namespace ApplicationError { interface Literal { message: string; data: D; stack?: string; } interface Constructor { (...args: any[]): ApplicationError; code: C; is(arg: object | undefined): arg is ApplicationError; } function declare(code: C, factory: (...args: any[]) => Literal): Constructor; function is(arg: object | undefined): arg is ApplicationError; function fromJson(code: C, raw: Literal): ApplicationError; } //# sourceMappingURL=application-error.d.ts.map