import { TransactionRequest } from "@ethersproject/providers";
import { Service } from "../common";
import { Address, Balance, Integer, Token, TokenAllowance } from "../types";
export declare class PortalsService extends Service {
    supportedTokens(): Promise<Token[]>;
    balances<T extends Address>(address: T): Promise<Balance[]>;
    supportedVaultAddresses(): Promise<Address[]>;
    zapInApprovalState(vault: Address, token: Address, amount: Integer, account: Address): Promise<TokenAllowance>;
    zapInApprovalTransaction(vault: Address, token: Address, amount: Integer, account: Address): Promise<TransactionRequest>;
    zapOutApprovalState(vault: Address, token: Address, amount: Integer, account: Address): Promise<TokenAllowance>;
    zapOutApprovalTransaction(vault: Address, token: Address, amount: Integer, account: Address): Promise<TransactionRequest>;
    zapIn(vault: Address, token: Address, amount: Integer, account: Address, slippagePercentage: number, validate?: boolean, partnerId?: string): Promise<TransactionRequest>;
    zapOut(vault: Address, token: Address, amount: Integer, account: Address, slippagePercentage: number, validate?: boolean, signature?: string): Promise<TransactionRequest>;
    private serializeAddress;
    private deserializeAddress;
}
