type NumericAscii = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "0"; type NonNumericAscii = S extends `${NumericAscii}` ? never : any; type IsNumericString = S extends `${number}` ? any : never; type IsNonNumericString = S extends `${NonNumericAscii}${infer _}` ? any : never; export = status; declare const status: status; interface status { (code: number): string; (code: S): status.Result; codes: number[]; code: { [msg: string]: number | undefined }; empty: { [code: number]: boolean | undefined }; message: { [code: number]: string | undefined }; redirect: { [code: number]: boolean | undefined }; retry: { [code: number]: boolean | undefined }; } declare namespace status { type Result = S extends IsNumericString ? string : S extends IsNonNumericString ? number : string | number; }