import { AccountName, ChainAccount, ChainNetwork, ExternalWalletType, PermissionName, PublicKey } from '../common/models'; /** All User data retrieved including permissions */ export declare type UserSourceData = { accountName: AccountName; email: string; picture: URL['href']; name: string; username: string; permissions: UserPermissionData[]; delayWalletSetup?: boolean; }; /** User personal and blockchain account information */ export declare type UserData = Omit & { chainAccounts: UserChainAccount[]; }; /** Blockchain accounts associated with the user's OreId account * Permissions are names for publicKeys used with the chainAccount * The default permission is the one most commonly used to sign transactions for the chain account */ export declare type UserChainAccount = { chainNetwork: ChainNetwork; chainAccount: ChainAccount; defaultPermission: UserPermissionForChainAccount; /** Permissions are publicKeys used with the chainAccount - which have been given a name * For most chains, there is only one permission named 'active' */ permissions: UserPermissionForChainAccount[]; }; export interface UserPermission extends Omit { name: PermissionName; } export interface UserPermissionForChainAccount extends Omit { name: PermissionName; } export declare type UserPermissionData = { chainNetwork: ChainNetwork; chainAccount: ChainAccount; externalWalletType?: ExternalWalletType; isDefault?: boolean; isVerified?: boolean; nickname?: string; permission: PermissionName; privateKeyStoredExterally?: boolean; publicKey?: PublicKey; }; export declare type WalletPermission = { account?: AccountName; name: PermissionName; parent?: PermissionName; publicKey: PublicKey; };