import { providers } from "ethers"; import type Provider from "ethereum-provider"; import type { Address } from "abitype"; import type { Chain } from "@thirdweb-dev/chains"; import { WagmiConnector } from "../../../lib/wagmi-connectors/WagmiConnector"; import { Ethereum } from "../injected/types"; import { AsyncStorage } from "../../../core"; export type FrameConnectorOptions = { /** * eth-provider and the Frame Companion injected provider do not support programmatic disconnect. * This flag simulates the disconnect behavior by keeping track of connection status in storage. * * By default, it is set to `true`. */ shimDisconnect?: boolean; }; export type FrameInjectedProvider = Provider & { providers: Ethereum[]; isFrame: true; }; export declare class FrameConnector extends WagmiConnector, providers.JsonRpcSigner> { readonly id = "frame"; readonly name = "Frame"; readonly ready = true; protected shimDisconnectKey: string; private _provider?; connectorStorage: AsyncStorage; constructor({ chains, options: suppliedOptions, connectorStorage, }: { chains?: Chain[]; connectorStorage: AsyncStorage; options?: FrameConnectorOptions; }); connect(config?: { chainId?: number; } | undefined): Promise<{ account: string; provider: Provider; chain: { id: number; unsupported: boolean; }; }>; disconnect(): Promise; getAccount(): Promise; getChainId(): Promise; getProvider(): Promise; /** * get a `signer` for given `chainId` */ getSigner({ chainId }?: { chainId?: number; }): Promise; isAuthorized(): Promise; switchChain(chainId: number): Promise; watchAsset({ address, decimals, image, symbol, }: { address: Address; decimals?: number; image?: string; symbol: string; }): Promise; setupListeners(): Promise; protected onAccountsChanged: (accounts: string[]) => void; protected onChainChanged: (chainId: number | string) => void; protected onDisconnect: () => void; protected isUserRejectedRequestError(error: unknown): boolean; private injectedProvider; private isInjected; private createProvider; } //# sourceMappingURL=index.d.ts.map