import { ConfigOverrides, ISSXConnected, SSXExtension } from './types'; import { providers } from 'ethers'; declare global { interface Window { gnosisModal: IGnosisModal; } } /** Gnosis Modal Interface */ interface IGnosisModal { /** Method to abort operation handling an error and close the modal. */ abortOperation: (message: string) => void; /** Method to close the modal. */ closeModal: () => void; /** Method to open modal. */ openModal: () => Promise; /** Method to select delegation option on modal. */ selectOption: (opt: any) => void; /** Method to connect with selected option. */ connect: () => Promise; } /** * GnosisDelegation is an SSX Extension to enable multisig login on SSX. */ export declare class GnosisDelegation implements SSXExtension { /** Web3 Provider. */ web3provider: providers.Web3Provider; /** Selected delegation option. */ selectedOption: string; /** Continue with the SSX flow with a successfull promise. */ private _proceed; /** Continue with the SSX flow with a rejected promise. */ private _failure; /** User address without delegation. */ private _connectedAddress; namespace: string; /** * Executes extension logic. * @param ssx - SSXConnected instance. * @returns Promise with extension status. */ afterConnect(ssx: ISSXConnected): Promise; /** * Opens GnosisModal. */ openModal: () => Promise; /** * Gets static HTML tags to build the main component. * @returns JSON with static HTML tags. */ getTags: () => Record; /** * Gets delegators. * @returns List of delegators. */ getOptions: () => Promise>; /** * Selects delegation option. * @param option - Modal option. */ selectOption: (option: any) => void; /** * Abort operation and close Modal. */ abortOperation: (message: string) => void; /** * Closes Modal. */ closeModal: () => void; /** * Confirm selection and continue SSX flow. * @returns Promise void. */ connect: () => Promise; } export {}; //# sourceMappingURL=gnosis-extension-modal.d.ts.map