interface RawRemoteError { /** * code > 0 才是合法的 Error; * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ code: number; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ name: string; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ message: string; } /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ declare class RemoteError extends Error { /** * code > 0 才是合法的 Error; * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ code: number; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ constructor(message: string); toJson(): RawRemoteError; toString(): string; valueOf(): string; static fromError(err: unknown): RemoteError; static isRemoteError(data: unknown): data is RawRemoteError; } /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ declare class RemoteTimeoutError extends RemoteError { /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ static code: number; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ code: number; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ constructor(message: string); } /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ declare class RemoteNotFoundError extends RemoteError { /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ static code: number; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ code: number; /** * name 和 message 都是 human readable 的字符串, * 仅用于调试和展示, * 程序逻辑判断请使用 code */ constructor(message: string); } declare const response: { success(data: T): { readonly code: 0; readonly data: T; }; error(error: RemoteError): RawRemoteError; }; export { RemoteError, RemoteNotFoundError, RemoteTimeoutError, response };