import type { HotConnector } from "../HotConnector"; import type { OmniWallet } from "../OmniWallet"; import type { TransferIntent, MtWithdrawIntent, FtWithdrawIntent, TokenDiffIntent, AuthCallIntent } from "./types"; import { OmniToken } from "./config"; export declare const TGAS = 1000000000000n; export declare class Intents { readonly wibe3?: HotConnector | undefined; constructor(wibe3?: HotConnector | undefined); static get builder(): Intents; hashes: string[]; intents: (TransferIntent | MtWithdrawIntent | FtWithdrawIntent | TokenDiffIntent | AuthCallIntent)[]; nonce?: Uint8Array; deadline?: Date; signer?: OmniWallet | { ed25519PrivateKey: Uint8Array; omniAddress?: string; }; commitments: Record[]; need: Map; addNeed(token: OmniToken, amount: bigint): this; authCall(args: { contractId: string; msg: string; attachNear: bigint; tgas: number; }): this; transfer(args: { recipient: string; token: OmniToken; amount: number | bigint; msg?: string; tgas?: number; }): this; batchTransfer(args: { recipient: string; tokens: Record; msg?: string; tgas?: number; }): this; tokenDiff(args: Record): this; addRawIntent(rawIntent: Record): this; withdraw(args: { token: OmniToken; amount: number | bigint; receiver: string; memo?: string; msg?: string; tgas?: number; }): this; attachHashes(hashes: string[]): this; attachWallet(wallet: OmniWallet): this; attachDeadline(deadline: Date): this; attachNonce(nonce: Uint8Array): this; attachTimeout(seconds: number): this; attachSeed(seed: string): this; take(token: OmniToken, amount: number | bigint): this; give(token: OmniToken, amount: number | bigint): this; signRaw({ ed25519PrivateKey, intentsAddress, checkTokens }: { ed25519PrivateKey: Uint8Array; intentsAddress?: string; checkTokens?: boolean; }): Promise<{ signature: string; public_key: string; standard: string; payload: string; }>; attachCommitment(commitment: Record): Promise; attachSigner(signer: OmniWallet | { ed25519PrivateKey: Uint8Array; omniAddress?: string; }): Promise; checkRequiredTokens(): Promise; sign(params?: { checkTokens: boolean; }): Promise | { signature: string; public_key: string; standard: string; payload: string; }>; simulate(params?: { checkTokens: boolean; }): Promise; execute(params?: { checkTokens: boolean; }): Promise; static publishSignedIntents(signed: Record[], hashes?: string[]): Promise; static hasPublicKey(accountId: string, publicKey: string): Promise; static simulateIntents(signed: Record[]): Promise; static getIntentsBalances(assets: string[], accountId: string): Promise>; static getIntentsAssets(accountId: string): Promise; }