import { Big } from "big.js"; import { ContractName } from "../../contracts"; import { IERC20Metadata } from "../../contracts/type"; import { Channel, ChannelEventSource } from "../../internal"; import { PerpetualProtocol } from "../PerpetualProtocol"; declare type CollateralEventName = "Approval" | "Transfer"; export declare class SettlementToken extends Channel { private readonly _perp; private _contract; private _contractReader; constructor(_perp: PerpetualProtocol, contract: IERC20Metadata); get contract(): IERC20Metadata; get address(): string; symbol(): Promise; name(): Promise; decimals(): Promise; weight(): Promise; price(): Promise; cap(): Promise; balanceOf(account: string): Promise; allowance(account: string, spender: string): Promise; approve(account: string, spender: string, amount?: Big): Promise<{ transaction: import("ethers").ContractTransaction; metadata: { contractName: ContractName; contractFunctionName: keyof import("ethers").Contract; args: unknown[]; txPayload: { from?: string | undefined; to?: string | undefined; inputData?: string | undefined; } | { from: string; to: string; value: import("ethers").BigNumber | undefined; inputData: string; }; }; gasLimit: string; }>; protected _getEventSourceMap(): { Approval: ChannelEventSource; Transfer: ChannelEventSource; }; } export {};