import { ERC20Token } from './token.types';
export interface AlchemyBatchRequest {
    jsonrpc: '2.0';
    id: number;
    method: string;
    params: any[];
}
export interface AlchemyBatchResponse {
    jsonrpc: '2.0';
    id: number;
    result: string;
    error?: {
        code: number;
        message: string;
    };
}
export interface TokenApproval {
    token: ERC20Token;
    spenderAddress: string;
    allowance: bigint;
    tokenId?: string;
}
export interface ApprovalPair {
    contractAddress: string;
    spenderAddress: string;
    tokenIds?: Set<string>;
}
export interface ApprovalsBySpender {
    spenderAddress: string;
    approvedAssets: TokenApproval[];
}
export declare enum RevokeType {
    ERC20 = "ERC20",
    tokenId = "tokenId",
    approvedForAll = "approvedForAll"
}
export interface ApprovalRequestMetadata {
    pairIndex: number;
    type: RevokeType;
    tokenId?: string;
}
