import { BigNumberish, CairoOption, RpcProvider, TypedContractV2 } from "starknet"; import { AEBalance } from "../ae_balance.js"; import { Audit, ExPost } from "../operations/audit.js"; import { FundOperation } from "../operations/fund.js"; import { RagequitOperation } from "../operations/ragequit.js"; import { RollOverOperation } from "../operations/rollover.js"; import { TransferOperation } from "../operations/transfer.js"; import { WithdrawOperation } from "../operations/withdraw.js"; import { tongoAbi } from "../tongo.abi.js"; import { CipherBalance, GeneralPrefixData, PubKey, TongoAddress } from "../types.js"; import { AccountState, FundDetails, IAccount, RagequitDetails, RawAccountState, TransferDetails, WithdrawDetails, RolloverDetails } from "./account.interface.js"; import { AccountEvents, AccountFundEvent, AccountRagequitEvent, AccountRolloverEvent, AccountTransferInEvent, AccountTransferOutEvent, AccountWithdrawEvent } from "./events.js"; type TongoContract = TypedContractV2; export declare class Account implements IAccount { publicKey: PubKey; pk: bigint; provider: RpcProvider; Tongo: TongoContract; /** @deprecated Use rpc url for the third argument. */ constructor(pk: BigNumberish | Uint8Array, contractAddress: string, provider: RpcProvider); constructor(pk: BigNumberish | Uint8Array, contractAddress: string, rpcUrl: string); tongoAddress(): TongoAddress; static tongoAddress(pk: BigNumberish | Uint8Array): TongoAddress; nonce(): Promise; state(): Promise; rawState(): Promise; rate(): Promise; bit_size(): Promise; erc20ToTongo(erc20Amount: bigint): Promise; tongoToErc20(tongoAmount: bigint): Promise; auditorKey(): Promise>; createAuditPart(balance: bigint, storedCipherBalance: CipherBalance, prefix_data: GeneralPrefixData): Promise>; fund(fundDetails: FundDetails): Promise; transfer(transferDetails: TransferDetails): Promise; ragequit(ragequitDetails: RagequitDetails): Promise; withdraw(withdrawDetails: WithdrawDetails): Promise; rollover(rolloverDetails: RolloverDetails): Promise; decryptAEBalance(aeBalance: AEBalance, accountNonce: bigint): Promise; decryptAEHintForPubKey(aeHint: AEBalance, accountNonce: bigint, other: PubKey): Promise; decryptCipherBalance({ L, R }: CipherBalance, hint?: bigint): bigint; generateExPost(to: PubKey, cipher: CipherBalance, sender: string): Promise; verifyExPost(expost: ExPost): bigint; _diffieHellman(other: TongoAddress): Uint8Array; computeAEHintForPubKey(amount: bigint, nonce: bigint, pubKey: PubKey): Promise; computeAEHintForSelf(amount: bigint, nonce: bigint): Promise; deriveSymmetricKeyForPubKey(nonce: bigint, other: PubKey): Promise>; static parseAccountState(state: Awaited>): { balance: CipherBalance; pending: CipherBalance; audit: CipherBalance | undefined; nonce: bigint; aeBalance: AEBalance | undefined; aeAuditBalance: AEBalance | undefined; }; getEventsFund(initialBlock: number): Promise; getEventsRollover(initialBlock: number): Promise; getEventsWithdraw(initialBlock: number): Promise; getEventsRagequit(initialBlock: number): Promise; getEventsTransferOut(initialBlock: number): Promise; getEventsTransferIn(initialBlock: number): Promise; getTxHistory(initialBlock: number): Promise; } export {};