import { OmniToken, WalletType } from "./omni/config"; import { OmniConnector } from "./OmniConnector"; import { Intents } from "./omni/Intents"; import { ReviewFee } from "./omni/bridge"; import { Token } from "./omni/token"; export interface AuthCommitment { tradingAddress: string; signed: Record; address: string; publicKey: string; chainId: WalletType; seed: string; } export interface SignedAuth { signed: Record; address: string; publicKey: string; chainId: WalletType; seed: string; } export declare abstract class OmniWallet { readonly connector: OmniConnector; constructor(connector: OmniConnector); abstract address: string; abstract publicKey?: string; abstract omniAddress: string; abstract type: WalletType; disconnect(): Promise; abstract transferFee(token: Token, receiver: string, amount: bigint): Promise; abstract transfer(args: { token: Token; receiver: string; amount: bigint; comment?: string; gasFee?: ReviewFee; }): Promise; abstract signIntentsWithAuth(domain: string, intents?: Record[]): Promise; abstract signIntents(intents: Record[], options?: { nonce?: Uint8Array; deadline?: number; }): Promise>; abstract fetchBalance(chain: number, address: string): Promise; abstract fetchBalances(chain?: number, whitelist?: string[]): Promise>; executeIntents(intents: Record[], hashes?: string[]): Promise; get icon(): string; get intents(): Intents; auth(domain: string, intents?: Record[], then?: (signed: SignedAuth) => Promise): Promise; pay({ token, amount, recipient, paymentId }: { token: OmniToken; amount: number; recipient: string; paymentId: string; }): Promise; waitUntilBalance(need: Record, receiver: string, attempts?: number): Promise; getIntentsBalance(asset: string, receiver: string): Promise; getAssets(): Promise>; }