import { ethers } from 'ethers'; import { PreflightCheck } from '../../lib/preflight'; export declare function resolveTokenAddress(orgIdOrName: string | undefined, chainId?: number): Promise<{ orgId: string; tokenAddress: string; }>; export interface TokenGateContext { authorityAddress: string; executor: string; } export declare function readTokenGates(provider: ethers.providers.Provider, tokenAddress: string): Promise; export declare function checkTokenPermission(authorityAddress: string, user: string, key: string): PreflightCheck; export interface TokenRequestOnChain { requester: string; amount: ethers.BigNumber; approved: boolean; ipfsHash: string; exists: boolean; } /** * Read requests(id) — requester == 0 means unknown/cancelled (RequestUnknown). * * DELIBERATELY NOT converted to TokenRequest even though the entity carries * requester/amount/status/ipfsHash. This is the sole existence + state gate * for approve/cancel, and every one of its three verdicts is a revert * prediction (RequestUnknown, already-approved, NotRequester). A stale * subgraph row — the request was approved or cancelled seconds ago — would * make the CLI predict success and broadcast a transaction that is certain to * revert. `pop token requests`, which only lists, already reads the subgraph. */ export declare function readTokenRequest(provider: ethers.providers.Provider, tokenAddress: string, requestId: number): Promise;