UNPKG

zmp-sdk

Version:

Zalo Mini App SDK

1,690 lines (1,673 loc) 126 kB
import { StreamType as StreamType$1, MediaConstraints as MediaConstraints$1, PhotoConstraint as PhotoConstraint$1, PhotoFrame as PhotoFrame$1, MediaDevice as MediaDevice$1, CameraEvents as CameraEvents$1 } from '@mp-types'; /** * @typedef {"none" | "wifi" | "cellular" | "unknown"} NetworkType */ declare enum NetworkType { /** No Network */ none = "none", /** Wi-Fi Network */ wifi = "wifi", /** Cellular Network (2g/3g/4g) */ cellular = "cellular", /** Uncommon network types for Android */ unknown = "unknown" } declare enum Events { AppPaused = "h5.event.paused", AppResumed = "h5.event.resumed", NetworkChanged = "h5.event.connection.changed", OnDataCallback = "h5.event.webview.result", WebviewClosed = "h5.event.webview.close", OpenApp = "h5.event.open.mp", AppClose = "h5.event.action.close", PaymentCallback = "payment.callback", PaymentResult = "action.payment.result", PaymentClose = "action.payment.close", DownloadProgress = "h5.event.webview.download.progress" } declare const ACTION: { GET_DOWNLOADED_STICKER: { haveCallback: boolean; }; OPEN_SHARE_STICKER: {}; OPEN_PROFILE: { requireAccessToken: boolean; }; OPEN_FEED_DETAIL: {}; OPEN_FRIEND_RADA: {}; OPEN_INAPP: {}; OPEN_OUTAPP: { requireAccessToken: boolean; }; OPEN_PAGE: {}; OPEN_PHOTODETAIL: {}; OPEN_GALARY: {}; OPEN_GAMECENTER: {}; OPEN_GAMENEWS: {}; OPEN_TAB_CONTACT: {}; OPEN_TAB_SOCIAL: {}; OPEN_FRIENDSUGGEST: {}; OPEN_GROUPLIST: {}; OPEN_NEARBY: {}; OPEN_ROOM: {}; OPEN_STICKERSTORE: {}; OPEN_CREATECHAT: {}; COPY_LINK_CATESTICKER: {}; REQUEST_BUY_STICKER: {}; OPEN_CHAT: { requireAccessToken: boolean; }; OPEN_TAB_CHAT: {}; OPEN_CHATGROUP: {}; OPEN_ADDFRIEND: {}; OPEN_TAB_MORE: {}; OPEN_POSTFEED: { requireAccessToken: boolean; }; OPEN_LOGINDEVICES: {}; OPEN_SENDSTICKER: {}; REPORT_ABUSE: { haveCallback: boolean; }; FOLLOW_OA: { haveCallback: boolean; requireAccessToken: boolean; errorList: { android: { "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-400": { mapTo: { code: number; message: string; }; }; }; }; }; UNFOLLOW_OA: { haveCallback: boolean; requireAccessToken: boolean; errorList: { android: { "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-400": { mapTo: { code: number; message: string; }; }; }; }; }; OPEN_GAMEDETAIL: {}; OPEN_SHARESHEET: { haveCallback: boolean; requireAccessToken: boolean; errorList: { android: { "-101": { mapTo: { code: number; message: string; }; }; }; iOS: { "-101": { mapTo: { code: number; message: string; }; }; }; }; }; REQUEST_PERMISSION_CAMERA: { errorList: { android: { "-2": { mapTo: { code: number; message: string; }; }; }; iOS: { "-2": { mapTo: { code: number; message: string; }; }; }; }; }; CHANGE_TITLE_HEADER: { skipJump: boolean; }; WEBVIEW_CLEARCACHE: {}; WEBVIEW_CONFIRMCACHE: {}; WEBVIEW_ISVISIBLE: {}; WEBVIEW_NETWORKTYPE: { skipJump: boolean; }; CHANGE_BUTTON_HEADER: {}; CREATE_OPTIONS_MENU: { skipJump: boolean; haveCallback: boolean; }; CREATE_SHORTCUT: { requireAccessToken: boolean; }; CHANGE_ACTIONBAR_LEFTBUTTON_TYPE: { skipJump: boolean; haveCallback: boolean; }; WINDOW_CLOSE: { skipJump: boolean; haveCallback: boolean; }; WEBVIEW_CHECKRESERROR: {}; IAP_REQUESTPAYMENT: { haveCallback: boolean; }; ZBROWSER_GETSTATS: {}; ZBROWSER_JSBRIDGE: { skipJump: boolean; haveCallback: boolean; }; PROMPT_AUTHENTICATION: {}; CHANGE_ACTIONBAR_COLOR: { skipJump: boolean; }; PROMPT_AUTHENTICATION_CHECK_STATE: {}; OPEN_APPSTORE: {}; GET_LOCATION: { haveCallback: boolean; errorList: { android: { "-1": { mapTo: { code: number; message: string; }; }; "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-1": { mapTo: { code: number; message: string; }; }; "-400": { mapTo: { code: number; message: string; }; }; }; }; }; QUERY_LOCATION_HIDE: { haveCallback: boolean; }; SHOW_TOAST: { haveCallback: boolean; timeout: number; }; OPEN_APP: {}; HIDE_KEYBOARD: {}; OPEN_PHONE: {}; OPEN_QR: {}; OPEN_SMS: {}; VIEW_MYQR: { haveCallback: boolean; timeout: boolean; requireAccessToken: boolean; }; KEEP_SCREEN: { haveCallback: boolean; timeout: number; }; CHANGE_AUTOROTATE: { skipJump: boolean; }; CHECK_APP_INSTALLED: {}; QUERY_SHOW: {}; QUERY_HIDE: {}; OPEN_INAPPRW: {}; ZALORUN_GETTRACKINGSTATUS: { haveCallback: boolean; }; ZALORUN_SETTRACKINGSTATUS: { haveCallback: boolean; }; ZALORUN_GETDAYSTEP: { haveCallback: boolean; }; ZALORUN_FORCESUBMITDATA: { haveCallback: boolean; }; ZALORUN_SETWEIGHT: { haveCallback: boolean; }; OPEN_PROFILE_EXT: {}; DOWNLOAD_CATE: { haveCallback: boolean; }; JUMP_LOGIN: { skipJump: boolean; whiteList: boolean; }; OPEN_ADTIMA_ADS_INTERSTITIAL: {}; OPEN_ADTIMA_ADS: {}; GET_ADIDCLIENT: {}; SCAN_IBEACON: {}; SAVE_VIDEO_GALLERY: { versionLive: { iOS: number; }; errorList: { android: { "-101": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; "-102": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; iOS: { "-10": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; }; }; INTERACTIVE_VIBRATION: {}; SAVE_IMAGE_GALLERY: { versionLive: { iOS: number; }; errorList: { android: { "-101": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; "-102": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; iOS: { "-10": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; }; }; OPEN_MP: { versionLive: { iOS: number; }; }; CHANGE_ACTIONBAR: { haveCallback: boolean; timeout: number; versionLive: { iOS: number; }; skipJump: boolean; }; ZBROWSER_MPDS: { haveCallback: boolean; timeout: number; versionLive: { iOS: number; }; errorList: { android: { "-100": { mapTo: { code: number; message: string; }; }; "-101": { mapTo: { code: number; message: string; }; }; "-105": { mapTo: { code: number; message: string; }; }; "-106": { mapTo: { code: number; message: string; }; }; }; iOS: { "-10": { mapTo: { code: number; message: string; }; }; "-101": { mapTo: { code: number; message: string; }; }; "-102": { mapTo: { code: number; message: string; }; }; }; }; }; ZBROWSER_MPDS_SYNC: { versionLive: { iOS: number; }; errorList: { android: { "-100": { mapTo: { code: number; message: string; }; }; "-101": { mapTo: { code: number; message: string; }; }; "-105": { mapTo: { code: number; message: string; }; }; "-106": { mapTo: { code: number; message: string; }; }; }; iOS: { "-10": { mapTo: { code: number; message: string; }; }; "-101": { mapTo: { code: number; message: string; }; }; "-102": { mapTo: { code: number; message: string; }; }; }; }; }; WEBVIEW_SET_RESULT: { versionLive: { iOS: number; }; }; MP_GET_NUMBER: { versionLive: { iOS: number; }; errorList: { android: { "-1": { mapTo: { code: number; message: string; }; }; "-101": { mapTo: { code: number; message: string; }; }; "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-1": { mapTo: { code: number; message: string; }; }; "-10": { mapTo: { code: number; message: string; }; }; "-400": { mapTo: { code: number; message: string; }; }; }; }; }; MP_OPEN_PROFILE_PICKER: { requireAccessToken: boolean; versionLive: { iOS: number; }; errorList: { android: { "-101": { mapTo: { code: number; message: string; }; }; }; iOS: { "-101": { mapTo: { code: number; message: string; }; }; }; }; }; GET_SUPPORTED_ACTIONS: { whiteList: boolean; }; MP_JOIN_WIFI: { haveCallback: boolean; timeout: boolean; versionLive: { android: number; iOS: number; }; havePermission: boolean; whiteList: boolean; }; PICK_MEDIA: { requireAccessToken: boolean; versionLive: { iOS: number; }; errorList: { android: { "-101": { mapTo: { code: number; message: string; }; }; "999": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; iOS: { "-10": { mapTo: { code: number; message: string; }; }; }; }; }; MP_CLOSE_LOADINGVIEW: { skipJump: boolean; }; CHANGE_BOTTOMBAR: { haveCallback: boolean; timeout: number; skipJump: boolean; }; MA_MENU_MINIMIZE: { skipJump: boolean; versionLive: { iOS: number; }; }; MA_MENU_PERMISSION: { skipJump: boolean; versionLive: { iOS: number; }; }; MA_MENU_FAVORITES: { skipJump: boolean; versionLive: { iOS: number; }; }; MP_SEND_NOTIFICATION: { skipJump: boolean; versionLive: { iOS: number; }; errorList: { android: { "-1": { mapTo: { code: number; message: string; }; }; "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-1": { mapTo: { code: number; message: string; }; }; "-400": { mapTo: { code: number; message: string; }; }; }; }; }; MP_ADD_RATING: { skipJump: boolean; }; MP_ADD_MYFAVORITES: { skipJump: boolean; }; MP_INTERACT_OA: { skipJump: boolean; errorList: { android: { "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-400": { mapTo: { code: number; message: string; }; }; }; }; }; MP_USER_AUTHORIZE: { skipJump: boolean; errorList: { android: { "-400": { mapTo: { code: number; message: string; }; }; }; iOS: { "-400": { mapTo: { code: number; message: string; }; }; }; }; }; MP_SELECT_PAYMENT_METHOD: { skipJump: boolean; }; CHECK_NFC: { skipJump: boolean; versionLive: { iOS: number; }; errorList: { all: { "-1": { mapTo: { code: number; message: string; }; }; "-600": { mapTo: { code: number; message: string; }; }; "-602": { mapTo: { code: number; message: string; }; }; }; }; }; SCAN_NFC: { skipJump: boolean; haveCallback: boolean; timeout: number; errorList: { all: { "-1": { mapTo: { code: number; message: string; }; }; "-600": { mapTo: { code: number; message: string; }; }; "-601": { mapTo: { code: number; message: string; }; }; "-602": { mapTo: { code: number; message: string; }; }; "-603": { mapTo: { code: number; message: string; }; }; "-604": { mapTo: { code: number; message: string; }; }; "-605": { mapTo: { code: number; message: string; }; }; "-606": { mapTo: { code: number; message: string; }; }; }; }; }; MP_CONFIRM_REQUEST_PAYMENT: { skipJump: boolean; }; SAVE_FILE: { versionLive: { iOS: number; }; skipJump: boolean; errorList: { android: { "-101": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; "-102": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; iOS: { "-10": { mapTo: { code: number; message: string; }; needMoreDetail: boolean; }; }; }; }; MP_APP_LIFECYCLE_TRACKING: { skipJump: boolean; }; }; declare const AUTHEN_SCOPE_VALUES: readonly ["scope.userInfo", "scope.userLocation", "scope.userPhonenumber"]; declare const GET_SETTINGS_SCOPE_VALUES: readonly ["scope.userInfo", "scope.userLocation", "scope.userPhonenumber", "scope.camera", "scope.micro"]; type AsyncCallbackFailObject = { code: number; message?: string | undefined; api?: string | undefined; [key: string]: any; }; type AsyncCallback<T = any> = { action?: keyof typeof ACTION; success?: ((res: T) => void) | undefined; fail?: ((err: AsyncCallbackFailObject) => void) | undefined; }; type AsyncVoidCallback = { action?: keyof typeof ACTION; success?: () => void; fail?: ((err: AsyncCallbackFailObject) => void) | undefined; }; type AsyncProgressCallback = { action?: keyof typeof ACTION; onProgress?: (progress: number) => void; success?: () => void; fail?: ((err: AsyncCallbackFailObject) => void) | undefined; }; type GetLocationReturns = { /** latitude */ latitude?: string; /** longitude */ longitude?: string; /** timestamp */ timestamp?: string; /** provider */ provider?: string; token?: string; }; type CameraParams = { mediaConstraints?: MediaConstraints; canvasElement?: HTMLCanvasElement; videoElement: HTMLVideoElement; }; interface SystemInfo { /** Mini app version */ version: string; /** SDK version */ apiVersion: string; /** Zalo version */ zaloVersion: string; /** Client platform */ platform: string; /** Language set in Zalo */ language: string; /** Language set in Zalo */ zaloLanguage: string; /** Theme set in Zalo */ zaloTheme: string; } type SetStorageReturns = { errorKeys: string[]; }; type GetStorageReturns = { [key: string]: any; }; type StorageInfo = { currentSize: number; limitSize: number; }; type RemoveStorageReturns = { errorKeys: string[]; }; type GetUserInfoReturns = { userInfo: { id: string; name: string; avatar: string; idByOA?: string; isSensitive?: boolean; followedOA?: boolean; }; }; type GetNetworkTypeReturns = { networkType: NetworkType; }; type iBeaconInfo = { /** The iBeacon device broadcast UUID. */ uuid: string; /** The iBeacon device primary ID. */ major: string; /** The iBeacon device secondary ID. */ minor: string; /** The iBeacon device distance. */ distance: number; /** The signal strength of the device. */ rssi: number; }; type GetBeaconDiscoveryReturns = { beacons: Array<iBeaconInfo>; }; type ScanQRCodeReturns = { content: string; }; type OpenPostFeedReturns = { status: 0 | 1; shareType: 0 | 1 | 2; numberOfUser: number; }; type OpenShareSheetReturns = { status: 0 | 2 | 1; shareType: 0 | 2 | 1; numberOfUser: number; }; type RequestCameraPermissionReturns = { userAllow: boolean; message: string; }; type CheckZaloCameraPermissionReturns = { userAllow: boolean; }; type OpenBioAuthenticationReturns = { code: number; message: string; data: { domain: string; code: number; message: string; payToken: string; }; }; type CheckStateBioAuthenticationReturns = { bioState: string; }; type KeepScreenReturns = { success: boolean; }; type OpenWebviewReturns = { success: boolean; }; type GetAppInfoReturns = { description: string; version: string; name: string; appUrl: string; qrCodeUrl: string; logoUrl?: string; }; type GetPhoneNumberReturns = { number?: string; token?: string; }; type OpenProfilePickerReturns = { users: { id: string; profile: { name: string; avatar: string; }; code: number; message: string; }[]; }; type OpenMediaPickerReturns = { data: string; }; /** * Context info */ type ContextInfo = { type?: string; id?: string; }; type GetAuthCodeReturns = { authCode: string; authCodeVerify: string; }; type GetZPITokenReturns = { utoken: string; gtoken: string; zpp: string; zpt: string; }; type ChooseImageReturns = { filePaths: Array<string>; tempFiles: Array<{ path: string; size: number; }>; }; type CreateOrderReturns = { orderId: string; messageToken?: string; transId?: string; }; type SelectPaymentMethodReturns = { method: string; isCustom?: boolean; displayName?: string; subMethod?: string; logo?: string; }; type CheckTransactionReturns = { err: number; msg: string; orderId: string; transId: string; resultCode: number; transTime: string; createdAt: string; path?: string; method: string; isCustom: boolean; }; type CreateOrderIAPReturns = { orderId: string; }; type ScopeValues = (typeof AUTHEN_SCOPE_VALUES)[number] | (typeof GET_SETTINGS_SCOPE_VALUES)[number]; type AuthorizeType<T extends ScopeValues> = Partial<{ [key in T]: boolean; }>; type GetSettingReturn = { authSetting: AuthorizeType<(typeof GET_SETTINGS_SCOPE_VALUES)[number]>; }; declare enum CameraEvents { OnFrameCallback = "h5.event.camera.frame", OnStartCallback = "h5.event.camera.start", OnStopCallback = "h5.event.camera.stop" } declare enum FacingMode { FRONT = "user", BACK = "environment" } declare enum PhotoFormat { WEBP = "image/webp", PNG = "image/png", JPEG = "image/jpeg" } declare enum PhotoQuality { HIGH = "high", NORMAL = "normal", LOW = "low" } declare enum StreamType { VIDEO = "video", AUDIO = "audio" } type PhotoFrame = { data: string; width: number; height: number; }; type MediaDevice = { kind: string; label: string; deviceId: string; }; type MediaConstraints = { width?: number; height?: number; facingMode?: FacingMode; deviceId?: string; audio?: boolean; video?: boolean; mirrored?: boolean; }; type PhotoConstraint = { width?: number; height?: number; format?: PhotoFormat; quality?: PhotoQuality; mirrored?: boolean; useVideoSourceSize?: boolean; minScreenshotWidth?: number; minScreenshotHeight?: number; }; declare function login(args?: AsyncCallback<string>): Promise<string>; declare function getAccessToken(args?: AsyncCallback<string>): Promise<string>; declare function getVersion(): string; declare function getSystemInfo(): SystemInfo; declare type Primitive = string | number | symbol | bigint | boolean | null | undefined; declare namespace util { type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false; export const assertEqual: <A, B>(val: AssertEqual<A, B>) => AssertEqual<A, B>; export function assertIs<T>(_arg: T): void; export function assertNever(_x: never): never; export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>; export type MakePartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>; export const arrayToEnum: <T extends string, U extends [T, ...T[]]>(items: U) => { [k in U[number]]: k; }; export const getValidEnumValues: (obj: any) => any[]; export const objectValues: (obj: any) => any[]; export const objectKeys: ObjectConstructor["keys"]; export const find: <T>(arr: T[], checker: (arg: T) => any) => T | undefined; export type identity<T> = T; export type flatten<T> = identity<{ [k in keyof T]: T[k]; }>; export type noUndefined<T> = T extends undefined ? never : T; export const isInteger: NumberConstructor["isInteger"]; export function joinValues<T extends any[]>(array: T, separator?: string): string; export const jsonStringifyReplacer: (_: string, value: any) => any; export {}; } declare const ZodParsedType: { function: "function"; number: "number"; string: "string"; nan: "nan"; integer: "integer"; float: "float"; boolean: "boolean"; date: "date"; bigint: "bigint"; symbol: "symbol"; undefined: "undefined"; null: "null"; array: "array"; object: "object"; unknown: "unknown"; promise: "promise"; void: "void"; never: "never"; map: "map"; set: "set"; }; declare type ZodParsedType = keyof typeof ZodParsedType; declare type allKeys<T> = T extends any ? keyof T : never; declare type typeToFlattenedError<T, U = string> = { formErrors: U[]; fieldErrors: { [P in allKeys<T>]?: U[]; }; }; declare const ZodIssueCode: { invalid_type: "invalid_type"; invalid_literal: "invalid_literal"; custom: "custom"; invalid_union: "invalid_union"; invalid_union_discriminator: "invalid_union_discriminator"; invalid_enum_value: "invalid_enum_value"; unrecognized_keys: "unrecognized_keys"; invalid_arguments: "invalid_arguments"; invalid_return_type: "invalid_return_type"; invalid_date: "invalid_date"; invalid_string: "invalid_string"; too_small: "too_small"; too_big: "too_big"; invalid_intersection_types: "invalid_intersection_types"; not_multiple_of: "not_multiple_of"; not_finite: "not_finite"; }; declare type ZodIssueCode = keyof typeof ZodIssueCode; declare type ZodIssueBase = { path: (string | number)[]; message?: string; }; interface ZodInvalidTypeIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_type; expected: ZodParsedType; received: ZodParsedType; } interface ZodInvalidLiteralIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_literal; expected: unknown; received: unknown; } interface ZodUnrecognizedKeysIssue extends ZodIssueBase { code: typeof ZodIssueCode.unrecognized_keys; keys: string[]; } interface ZodInvalidUnionIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_union; unionErrors: ZodError[]; } interface ZodInvalidUnionDiscriminatorIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_union_discriminator; options: Primitive[]; } interface ZodInvalidEnumValueIssue extends ZodIssueBase { received: string | number; code: typeof ZodIssueCode.invalid_enum_value; options: (string | number)[]; } interface ZodInvalidArgumentsIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_arguments; argumentsError: ZodError; } interface ZodInvalidReturnTypeIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_return_type; returnTypeError: ZodError; } interface ZodInvalidDateIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_date; } declare type StringValidation = "email" | "url" | "uuid" | "regex" | "cuid" | "cuid2" | "datetime" | { startsWith: string; } | { endsWith: string; }; interface ZodInvalidStringIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_string; validation: StringValidation; } interface ZodTooSmallIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_small; minimum: number; inclusive: boolean; exact?: boolean; type: "array" | "string" | "number" | "set" | "date"; } interface ZodTooBigIssue extends ZodIssueBase { code: typeof ZodIssueCode.too_big; maximum: number; inclusive: boolean; exact?: boolean; type: "array" | "string" | "number" | "set" | "date"; } interface ZodInvalidIntersectionTypesIssue extends ZodIssueBase { code: typeof ZodIssueCode.invalid_intersection_types; } interface ZodNotMultipleOfIssue extends ZodIssueBase { code: typeof ZodIssueCode.not_multiple_of; multipleOf: number; } interface ZodNotFiniteIssue extends ZodIssueBase { code: typeof ZodIssueCode.not_finite; } interface ZodCustomIssue extends ZodIssueBase { code: typeof ZodIssueCode.custom; params?: { [k: string]: any; }; } declare type ZodIssueOptionalMessage = ZodInvalidTypeIssue | ZodInvalidLiteralIssue | ZodUnrecognizedKeysIssue | ZodInvalidUnionIssue | ZodInvalidUnionDiscriminatorIssue | ZodInvalidEnumValueIssue | ZodInvalidArgumentsIssue | ZodInvalidReturnTypeIssue | ZodInvalidDateIssue | ZodInvalidStringIssue | ZodTooSmallIssue | ZodTooBigIssue | ZodInvalidIntersectionTypesIssue | ZodNotMultipleOfIssue | ZodNotFiniteIssue | ZodCustomIssue; declare type ZodIssue = ZodIssueOptionalMessage & { fatal?: boolean; message: string; }; declare type ZodFormattedError<T, U = string> = { _errors: U[]; } & (NonNullable<T> extends [any, ...any[]] ? { [K in keyof NonNullable<T>]?: ZodFormattedError<NonNullable<T>[K], U>; } : NonNullable<T> extends any[] ? { [k: number]: ZodFormattedError<NonNullable<T>[number], U>; } : NonNullable<T> extends object ? { [K in keyof NonNullable<T>]?: ZodFormattedError<NonNullable<T>[K], U>; } : unknown); declare class ZodError<T = any> extends Error { issues: ZodIssue[]; get errors(): ZodIssue[]; constructor(issues: ZodIssue[]); format(): ZodFormattedError<T>; format<U>(mapper: (issue: ZodIssue) => U): ZodFormattedError<T, U>; static create: (issues: ZodIssue[]) => ZodError<any>; toString(): string; get message(): string; get isEmpty(): boolean; addIssue: (sub: ZodIssue) => void; addIssues: (subs?: ZodIssue[]) => void; flatten(): typeToFlattenedError<T>; flatten<U>(mapper?: (issue: ZodIssue) => U): typeToFlattenedError<T, U>; get formErrors(): typeToFlattenedError<T, string>; } declare type stripPath<T extends object> = T extends any ? util.OmitKeys<T, "path"> : never; declare type IssueData = stripPath<ZodIssueOptionalMessage> & { path?: (string | number)[]; fatal?: boolean; }; declare type ErrorMapCtx = { defaultError: string; data: any; }; declare type ZodErrorMap = (issue: ZodIssueOptionalMessage, _ctx: ErrorMapCtx) => { message: string; }; declare type ParseParams = { path: (string | number)[]; errorMap: ZodErrorMap; async: boolean; }; declare type ParsePathComponent = string | number; declare type ParsePath = ParsePathComponent[]; interface ParseContext { readonly common: { readonly issues: ZodIssue[]; readonly contextualErrorMap?: ZodErrorMap; readonly async: boolean; }; readonly path: ParsePath; readonly schemaErrorMap?: ZodErrorMap; readonly parent: ParseContext | null; readonly data: any; readonly parsedType: ZodParsedType; } declare type ParseInput = { data: any; path: (string | number)[]; parent: ParseContext; }; declare class ParseStatus { value: "aborted" | "dirty" | "valid"; dirty(): void; abort(): void; static mergeArray(status: ParseStatus, results: SyncParseReturnType<any>[]): SyncParseReturnType; static mergeObjectAsync(status: ParseStatus, pairs: { key: ParseReturnType<any>; value: ParseReturnType<any>; }[]): Promise<SyncParseReturnType<any>>; static mergeObjectSync(status: ParseStatus, pairs: { key: SyncParseReturnType<any>; value: SyncParseReturnType<any>; alwaysSet?: boolean; }[]): SyncParseReturnType; } declare type INVALID = { status: "aborted"; }; declare const INVALID: INVALID; declare type DIRTY<T> = { status: "dirty"; value: T; }; declare const DIRTY: <T>(value: T) => DIRTY<T>; declare type OK<T> = { status: "valid"; value: T; }; declare const OK: <T>(value: T) => OK<T>; declare type SyncParseReturnType<T = any> = OK<T> | DIRTY<T> | INVALID; declare type AsyncParseReturnType<T> = Promise<SyncParseReturnType<T>>; declare type ParseReturnType<T> = SyncParseReturnType<T> | AsyncParseReturnType<T>; declare namespace enumUtil { type UnionToIntersectionFn<T> = (T extends unknown ? (k: () => T) => void : never) extends (k: infer Intersection) => void ? Intersection : never; type GetUnionLast<T> = UnionToIntersectionFn<T> extends () => infer Last ? Last : never; type UnionToTuple<T, Tuple extends unknown[] = []> = [T] extends [never] ? Tuple : UnionToTuple<Exclude<T, GetUnionLast<T>>, [GetUnionLast<T>, ...Tuple]>; type CastToStringTuple<T> = T extends [string, ...string[]] ? T : never; export type UnionToTupleString<T> = CastToStringTuple<UnionToTuple<T>>; export {}; } declare namespace errorUtil { type ErrMessage = string | { message?: string; }; const errToObj: (message?: ErrMessage | undefined) => { message?: string | undefined; }; const toString: (message?: ErrMessage | undefined) => string | undefined; } declare namespace partialUtil { type DeepPartial<T extends ZodTypeAny> = T extends ZodObject<infer Shape, infer Params, infer Catchall> ? ZodObject<{ [k in keyof Shape]: ZodOptional<DeepPartial<Shape[k]>>; }, Params, Catchall> : T extends ZodArray<infer Type, infer Card> ? ZodArray<DeepPartial<Type>, Card> : T extends ZodOptional<infer Type> ? ZodOptional<DeepPartial<Type>> : T extends ZodNullable<infer Type> ? ZodNullable<DeepPartial<Type>> : T extends ZodTuple<infer Items> ? { [k in keyof Items]: Items[k] extends ZodTypeAny ? DeepPartial<Items[k]> : never; } extends infer PI ? PI extends ZodTupleItems ? ZodTuple<PI> : never : never : T; } declare type RefinementCtx = { addIssue: (arg: IssueData) => void; path: (string | number)[]; }; declare type ZodRawShape = { [k: string]: ZodTypeAny; }; declare type ZodTypeAny = ZodType<any, any, any>; declare type TypeOf<T extends ZodType<any, any, any>> = T["_output"]; declare type input<T extends ZodType<any, any, any>> = T["_input"]; declare type output<T extends ZodType<any, any, any>> = T["_output"]; declare type CustomErrorParams = Partial<util.Omit<ZodCustomIssue, "code">>; interface ZodTypeDef { errorMap?: ZodErrorMap; description?: string; } declare type RawCreateParams = { errorMap?: ZodErrorMap; invalid_type_error?: string; required_error?: string; description?: string; } | undefined; declare type SafeParseSuccess<Output> = { success: true; data: Output; }; declare type SafeParseError<Input> = { success: false; error: ZodError<Input>; }; declare type SafeParseReturnType<Input, Output> = SafeParseSuccess<Output> | SafeParseError<Input>; declare abstract class ZodType<Output = any, Def extends ZodTypeDef = ZodTypeDef, Input = Output> { readonly _type: Output; readonly _output: Output; readonly _input: Input; readonly _def: Def; get description(): string | undefined; abstract _parse(input: ParseInput): ParseReturnType<Output>; _getType(input: ParseInput): string; _getOrReturnCtx(input: ParseInput, ctx?: ParseContext | undefined): ParseContext; _processInputParams(input: ParseInput): { status: ParseStatus; ctx: ParseContext; }; _parseSync(input: ParseInput): SyncParseReturnType<Output>; _parseAsync(input: ParseInput): AsyncParseReturnType<Output>; parse(data: unknown, params?: Partial<ParseParams>): Output; safeParse(data: unknown, params?: Partial<ParseParams>): SafeParseReturnType<Input, Output>; parseAsync(data: unknown, params?: Partial<ParseParams>): Promise<Output>; safeParseAsync(data: unknown, params?: Partial<ParseParams>): Promise<SafeParseReturnType<Input, Output>>; /** Alias of safeParseAsync */ spa: (data: unknown, params?: Partial<ParseParams> | undefined) => Promise<SafeParseReturnType<Input, Output>>; refine<RefinedOutput extends Output>(check: (arg: Output) => arg is RefinedOutput, message?: string | CustomErrorParams | ((arg: Output) => CustomErrorParams)): ZodEffects<this, RefinedOutput, Input>; refine(check: (arg: Output) => unknown | Promise<unknown>, message?: string | CustomErrorParams | ((arg: Output) => CustomErrorParams)): ZodEffects<this, Output, Input>; refinement<RefinedOutput extends Output>(check: (arg: Output) => arg is RefinedOutput, refinementData: IssueData | ((arg: Output, ctx: RefinementCtx) => IssueData)): ZodEffects<this, RefinedOutput, Input>; refinement(check: (arg: Output) => boolean, refinementData: IssueData | ((arg: Output, ctx: RefinementCtx) => IssueData)): ZodEffects<this, Output, Input>; _refinement(refinement: RefinementEffect<Output>["refinement"]): ZodEffects<this, Output, Input>; superRefine<RefinedOutput extends Output>(refinement: (arg: Output, ctx: RefinementCtx) => arg is RefinedOutput): ZodEffects<this, RefinedOutput, Input>; superRefine(refinement: (arg: Output, ctx: RefinementCtx) => void): ZodEffects<this, Output, Input>; constructor(def: Def); optional(): ZodOptional<this>; nullable(): ZodNullable<this>; nullish(): ZodOptional<ZodNullable<this>>; array(): ZodArray<this>; promise(): ZodPromise<this>; or<T extends ZodTypeAny>(option: T): ZodUnion<[this, T]>; and<T extends ZodTypeAny>(incoming: T): ZodIntersection<this, T>; transform<NewOut>(transform: (arg: Output, ctx: RefinementCtx) => NewOut | Promise<NewOut>): ZodEffects<this, NewOut>; default(def: util.noUndefined<Input>): ZodDefault<this>; default(def: () => util.noUndefined<Input>): ZodDefault<this>; brand<B extends string | number | symbol>(brand?: B): ZodBranded<this, B>; catch(def: Output): ZodCatch<this>; catch(def: () => Output): ZodCatch<this>; describe(description: string): this; pipe<T extends ZodTypeAny>(target: T): ZodPipeline<this, T>; isOptional(): boolean; isNullable(): boolean; } declare type ZodStringCheck = { kind: "min"; value: number; message?: string; } | { kind: "max"; value: number; message?: string; } | { kind: "length"; value: number; message?: string; } | { kind: "email"; message?: string; } | { kind: "url"; message?: string; } | { kind: "uuid"; message?: string; } | { kind: "cuid"; message?: string; } | { kind: "cuid2"; message?: string; } | { kind: "startsWith"; value: string; message?: string; } | { kind: "endsWith"; value: string; message?: string; } | { kind: "regex"; regex: RegExp; message?: string; } | { kind: "trim"; message?: string; } | { kind: "datetime"; offset: boolean; precision: number | null; message?: string; }; interface ZodStringDef extends ZodTypeDef { checks: ZodStringCheck[]; typeName: ZodFirstPartyTypeKind.ZodString; coerce: boolean; } declare class ZodString extends ZodType<string, ZodStringDef> { _parse(input: ParseInput): ParseReturnType<string>; protected _regex: (regex: RegExp, validation: StringValidation, message?: errorUtil.ErrMessage | undefined) => ZodEffects<this, string, string>; _addCheck(check: ZodStringCheck): ZodString; email(message?: errorUtil.ErrMessage): ZodString; url(message?: errorUtil.ErrMessage): ZodString; uuid(message?: errorUtil.ErrMessage): ZodString; cuid(message?: errorUtil.ErrMessage): ZodString; cuid2(message?: errorUtil.ErrMessage): ZodString; datetime(options?: string | { message?: string | undefined; precision?: number | null; offset?: boolean; }): ZodString; regex(regex: RegExp, message?: errorUtil.ErrMessage): ZodString; startsWith(value: string, message?: errorUtil.ErrMessage): ZodString; endsWith(value: string, message?: errorUtil.ErrMessage): ZodString; min(minLength: number, message?: errorUtil.ErrMessage): ZodString; max(maxLength: number, message?: errorUtil.ErrMessage): ZodString; length(len: number, message?: errorUtil.ErrMessage): ZodString; /** * @deprecated Use z.string().min(1) instead. * @see {@link ZodString.min} */ nonempty: (message?: errorUtil.ErrMessage | undefined) => ZodString; trim: () => ZodString; get isDatetime(): boolean; get isEmail(): boolean; get isURL(): boolean; get isUUID(): boolean; get isCUID(): boolean; get isCUID2(): boolean; get minLength(): number | null; get maxLength(): number | null; static create: (params?: ({ errorMap?: ZodErrorMap | undefined; invalid_type_error?: string | undefined; required_error?: string | undefined; description?: string | undefined; } & { coerce?: true | undefined; }) | undefined) => ZodString; } declare type ZodNumberCheck = { kind: "min"; value: number; inclusive: boolean; message?: string; } | { kind: "max"; value: number; inclusive: boolean; message?: string; } | { kind: "int"; message?: string; } | { kind: "multipleOf"; value: number; message?: string; } | { kind: "finite"; message?: string; }; interface ZodNumberDef extends ZodTypeDef { checks: ZodNumberCheck[]; typeName: ZodFirstPartyTypeKind.ZodNumber; coerce: boolean; } declare class ZodNumber extends ZodType<number, ZodNumberDef> { _parse(input: ParseInput): ParseReturnType<number>; static create: (params?: ({ errorMap?: ZodErrorMap | undefined; invalid_type_error?: string | undefined; required_error?: string | undefined; description?: string | undefined; } & { coerce?: boolean | undefined; }) | undefined) => ZodNumber; gte(value: number, message?: errorUtil.ErrMessage): ZodNumber; min: (value: number, message?: errorUtil.ErrMessage | undefined) => ZodNumber; gt(value: number, message?: errorUtil.ErrMessage): ZodNumber; lte(value: number, message?: errorUtil.ErrMessage): ZodNumber; max: (value: number, message?: errorUtil.ErrMessage | undefined) => ZodNumber; lt(value: number, message?: errorUtil.ErrMessage): ZodNumber; protected setLimit(kind: "min" | "max", value: number, inclusive: boolean, message?: string): ZodNumber; _addCheck(check: ZodNumberCheck): ZodNumber; int(message?: errorUtil.ErrMessage): ZodNumber; positive(message?: errorUtil.ErrMessage): ZodNumber; negative(message?: errorUtil.ErrMessage): ZodNumber; nonpositive(message?: errorUtil.ErrMessage): ZodNumber; nonnegative(message?: errorUtil.ErrMessage): ZodNumber; multipleOf(value: number, message?: errorUtil.ErrMessage): ZodNumber; finite(message?: errorUtil.ErrMessage): ZodNumber; step: (value: number, message?: errorUtil.ErrMessage | undefined) => ZodNumber; get minValue(): number | null; get maxValue(): number | null; get isInt(): boolean; get isFinite(): boolean; } interface ZodBooleanDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodBoolean; coerce: boolean; } declare class ZodBoolean extends ZodType<boolean, ZodBooleanDef> { _parse(input: ParseInput): ParseReturnType<boolean>; static create: (params?: ({ errorMap?: ZodErrorMap | undefined; invalid_type_error?: string | undefined; required_error?: string | undefined; description?: string | undefined; } & { coerce?: boolean | undefined; }) | undefined) => ZodBoolean; } interface ZodAnyDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodAny; } declare class ZodAny extends ZodType<any, ZodAnyDef> { _any: true; _parse(input: ParseInput): ParseReturnType<this["_output"]>; static create: (params?: RawCreateParams) => ZodAny; } interface ZodUnknownDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodUnknown; } declare class ZodUnknown extends ZodType<unknown, ZodUnknownDef> { _unknown: true; _parse(input: ParseInput): ParseReturnType<this["_output"]>; static create: (params?: RawCreateParams) => ZodUnknown; } interface ZodVoidDef extends ZodTypeDef { typeName: ZodFirstPartyTypeKind.ZodVoid; } declare class ZodVoid extends ZodType<void, ZodVoidDef> { _parse(input: ParseInput): ParseReturnType<this["_output"]>; static create: (params?: RawCreateParams) => ZodVoid; } interface ZodArrayDef<T extends ZodTypeAny = ZodTypeAny> extends ZodTypeDef { type: T; typeName: ZodFirstPartyTypeKind.ZodArray; exactLength: { value: number; message?: string; } | null; minLength: { value: number; message?: string; } | null; maxLength: { value: number; message?: string; } | null; } declare type ArrayCardinality = "many" | "atleastone"; declare type arrayOutputType<T extends ZodTypeAny, Cardinality extends ArrayCardinality = "many"> = Cardinality extends "atleastone" ? [T["_output"], ...T["_output"][]] : T["_output"][]; declare class ZodArray<T extends ZodTypeAny, Cardinality extends ArrayCardinality = "many"> extends ZodType<arrayOutputType<T, Cardinality>, ZodArrayDef<T>, Cardinality extends "atleastone" ? [T["_input"], ...T["_input"][]] : T["_input"][]> { _parse(input: ParseInput): ParseReturnType<this["_output"]>; get element(): T; min(minLength: number, message?: error