import type { AccountGroupMultichainAccountObject } from "../../group.mjs"; import type { AccountWalletEntropyObject } from "../../wallet.mjs"; import type { BackupAndSyncAnalyticsAction } from "../analytics/index.mjs"; import type { ProfileId } from "../authentication/index.mjs"; import type { BackupAndSyncContext, UserStorageSyncedWalletGroup } from "../types.mjs"; /** * Creates multiple multichain account groups in batch (from 0 to maxGroupIndex). * This is an optimized version that creates all groups in one operation instead of * creating them sequentially. * * @param context - The sync context containing controller and messenger. * @param entropySourceId - The entropy source ID. * @param maxGroupIndex - Number of account groups to create in batch. * @param profileId - The profile ID for analytics. * @param analyticsAction - The analytics action to log for each created group. * @returns Array of created group IDs. */ export declare const createMultichainAccountGroupsBatch: (context: BackupAndSyncContext, entropySourceId: string, maxGroupIndex: number, profileId: ProfileId, analyticsAction: BackupAndSyncAnalyticsAction) => Promise; /** * Creates local groups from user storage groups. * * @param context - The sync context containing controller and messenger. * @param groupsFromUserStorage - Array of groups from user storage. * @param entropySourceId - The entropy source ID. * @param profileId - The profile ID for analytics. */ export declare function createLocalGroupsFromUserStorage(context: BackupAndSyncContext, groupsFromUserStorage: UserStorageSyncedWalletGroup[], entropySourceId: string, profileId: ProfileId): Promise; /** * Syncs a single group's metadata between local and user storage. * * @param context - The sync context containing controller and messenger. * @param localGroup - The local group to sync. * @param groupFromUserStorage - The group from user storage to compare against (or null if it doesn't exist). * @param entropySourceId - The entropy source ID. * @param profileId - The profile ID for analytics. */ export declare function syncGroupMetadata(context: BackupAndSyncContext, localGroup: AccountGroupMultichainAccountObject, groupFromUserStorage: UserStorageSyncedWalletGroup | null, entropySourceId: string, profileId: ProfileId): Promise; /** * Syncs group metadata between local and user storage. * * @param context - The sync context containing controller and messenger. * @param wallet - The local wallet containing the groups. * @param groupsFromUserStorage - Array of groups from user storage. * @param entropySourceId - The entropy source ID. * @param profileId - The profile ID for analytics. */ export declare function syncGroupsMetadata(context: BackupAndSyncContext, wallet: AccountWalletEntropyObject, groupsFromUserStorage: UserStorageSyncedWalletGroup[], entropySourceId: string, profileId: ProfileId): Promise; //# sourceMappingURL=group.d.mts.map