import { StarknetWindowObject, TypedData, WalletEvents } from '@starknet-io/types-js'; import { CreateTRPCProxyClient } from '@trpc/client'; import { ConnectAndSignSessionOutput } from '../helpers/schema'; import { AppRouter } from '../helpers/trpc'; import { ApprovalRequest } from './types'; export declare const userEventHandlers: WalletEvents[]; export type Variant = "argentX" | "argentWebWallet"; export interface GetArgentStarknetWindowObject { id: Variant; icon: string; name: string; version: string; host: string; } export type LoginStatus = { isLoggedIn?: boolean; hasSession?: boolean; isPreauthorized?: boolean; }; export type Theme = "light" | "dark"; type ConnectWebwalletProps = { theme?: Theme; }; type ConnectAndSignSessionProps = ConnectWebwalletProps & { callbackData?: string; approvalRequests: ApprovalRequest[]; sessionTypedData: TypedData; }; export type WebWalletStarknetWindowObject = StarknetWindowObject & { getLoginStatus(): Promise; connectWebwallet(props?: ConnectWebwalletProps): Promise<{ account?: string[]; chainId?: string; }>; connectWebwalletSSO(token: string, authorizedPartyId?: string): Promise<{ account?: string[]; chainId?: string; }>; connectAndSignSession({ callbackData, approvalRequests, sessionTypedData, theme, }: ConnectAndSignSessionProps): Promise; }; export declare const getArgentStarknetWindowObject: (options: GetArgentStarknetWindowObject, proxyLink: CreateTRPCProxyClient) => WebWalletStarknetWindowObject; export {};