import { Authenticator, Chain, User } from 'universal-authenticator-library'; import { ChainAccount, ChainNetwork, ExternalWalletType, PublicKey } from '../common/models'; import { WalletProviderAttributes } from '../wallets/models'; import { WalletPermission } from '../user/models'; export declare type UalProviderAttributes = WalletProviderAttributes; export declare type UalChain = Chain; export declare type UalUser = User; export declare type UalAuthenticatorFactory = { new (chains: UalChain[], options?: any): UalAuthenticator; name: string; }; export declare type UalAuthenticator = Authenticator; export declare type ConnectToUalProviderParams = { chainAccount?: ChainAccount; chainNetwork: ChainNetwork; walletType: ExternalWalletType; }; export declare type ConnectToUalProviderResult = { isLoggedIn?: boolean; chainAccount?: ChainAccount; chainNetwork?: ChainNetwork; permissions?: { name: string; publicKey: PublicKey; }[]; authenticator?: UalAuthenticator; walletType?: ExternalWalletType; ualUser?: UalUser; }; export declare type SetupUalWalletParams = { chainNetwork?: ChainNetwork; walletType: ExternalWalletType; }; export declare type UserAccountPermissions = { chainAccount: ChainAccount; chainNetwork: ChainNetwork; permissions: WalletPermission[]; };