import type { Prettify } from '../../helpers.js'; import type { MDSResponse } from '../../types.js'; import type { ArchiveAddressCheckParams, ArchiveExportParams, ArchiveImportParams, ArchiveInspectParams, ArchiveParams, ArchiveResyncParams, BackupParams, MegaMmrFileParams, MegaMmrParams, MegaMmrResyncParams, MegaMmrSyncParams, ResetChainsyncParams, ResetRestoreParams, ResetParams, ResetSeedsyncParams, RestoreParams, RestoreSyncParams, VaultParams, VaultPasswordLockParams, VaultPasswordUnlockParams, VaultRestoreKeysParams, VaultWipeKeysParams, ArchiveIntegrityParams, ArchiveExportRawParams, MegaMmrInfoParams, MegaMmrMyDetailsParams, VaultSeedParams } from './params.js'; import type { ArchiveReturnType, Backup, BackupResObj, MegaMmmrReturnType, MegaMmrSyncReturnType, ResetReturnType, Restore, VaultReturnType } from './response.js'; /** * Archive function types */ export type ActionParamMap = { readonly resync: ArchiveResyncParams; readonly export: ArchiveExportParams; readonly import: ArchiveImportParams; readonly inspect: ArchiveInspectParams; readonly addresscheck: ArchiveAddressCheckParams; readonly integrity: ArchiveIntegrityParams; readonly exportraw: ArchiveExportRawParams; }; export type ArchiveCallback = (data: ArchiveReturnType) => void; export type ArchiveParamType = A extends { action: keyof ActionParamMap; } ? ActionParamMap[A['action']] : A; type ArchiveFuncParams = [ { params: ArchiveParamType; }, ArchiveCallback? ]; export type ArchiveFunc = (...args: ArchiveFuncParams) => Promise>; /** * Backup function types */ type BackupCallback = (data: Prettify>) => void; export type BackupFunc = (args: { params: BackupParams; }, callback?: BackupCallback) => Promise>>; /** * MegaMmr function types */ export type ActionParamMapMegaMmr = { readonly export: MegaMmrFileParams; readonly info: MegaMmrInfoParams; }; export type ActionParamTypeMegaMmr = A extends { action: keyof ActionParamMapMegaMmr; } ? ActionParamMapMegaMmr[A['action']] : A; export type MegaMmrCallback = (data: MegaMmmrReturnType) => void; type MegaMmrFuncParams = [ { params: ActionParamTypeMegaMmr; }, MegaMmrCallback? ]; export type MegaMmrFunc = (...args: MegaMmrFuncParams) => Promise>; /** * MegaMmrSync function types */ export type ActionParamMapMegaMmrSync = { readonly resync: MegaMmrResyncParams; readonly myDetails: MegaMmrMyDetailsParams; }; type MegaMmrSyncCallback = (data: MegaMmrSyncReturnType) => void; export type ActionParamTypeMegaMmrSync = A extends { action: keyof ActionParamMapMegaMmrSync; } ? ActionParamMapMegaMmrSync[A['action']] : A; type MegaMmrSyncFuncParams = [ { params: ActionParamTypeMegaMmrSync; }, MegaMmrSyncCallback? ]; export type MegaMmrSyncFunc = (...args: MegaMmrSyncFuncParams) => Promise>; /** * Restore function types */ type RestoreCallback = (data: MDSResponse) => void; export type RestoreFunc = (args: { params: RestoreParams; }, callback?: RestoreCallback) => Promise>; export type RestoreSyncFunc = (args: { params: RestoreSyncParams; }, callback?: RestoreCallback) => Promise>; /** * Vault function types */ type VaultParamMap = { readonly seed: VaultSeedParams; readonly wipekeys: VaultWipeKeysParams; readonly restorekeys: VaultRestoreKeysParams; readonly passwordlock: VaultPasswordLockParams; readonly passwordunlock: VaultPasswordUnlockParams; }; type VaultCallback = (data: VaultReturnType) => void; export type ActionParamTypeVault = A extends { action: keyof VaultParamMap; } ? VaultParamMap[A['action']] : A; type VaultFuncParams = [ { params: ActionParamTypeVault; }, VaultCallback? ]; export type VaultFunc = (...args: VaultFuncParams) => Promise>; /** * Reset function types */ export type ActionParamMapReset = { readonly chainsync: ResetChainsyncParams; readonly seedsync: ResetSeedsyncParams; readonly restore: ResetRestoreParams; }; type ResetCallback = (data: ResetReturnType) => void; export type ActionParamTypeReset = A extends { action: keyof ActionParamMapReset; } ? ActionParamMapReset[A['action']] : A; type ResetFuncParams = [ { params: ActionParamTypeReset; }, ResetCallback? ]; export type ResetFunc = (...args: ResetFuncParams) => Promise>; export {}; //# sourceMappingURL=functions.d.ts.map