import { CoinFeature, UnderlyingAsset } from '../base';
import { AccountNetwork, EthereumNetwork } from '../networks';
interface BaseErc20Config {
    id: string;
    name: string;
    fullName: string;
    decimalPlaces: number;
    contractAddress: string;
    asset: UnderlyingAsset;
    features?: CoinFeature[];
    prefix?: string;
    suffix?: string;
}
interface Erc20WithOfcConfig extends BaseErc20Config {
    ofcId: string;
    ofcName: string;
    ofcAddressCoin?: string;
    skipOfc?: false;
}
interface Erc20WithoutOfcConfig extends BaseErc20Config {
    skipOfc: true;
}
type Erc20Config = Erc20WithOfcConfig | Erc20WithoutOfcConfig;
type Erc20CoinConfig = Erc20Config & {
    network?: EthereumNetwork;
};
type Erc20TokenConfig = Erc20Config & {
    network: AccountNetwork;
};
export declare function generateErc20Coin(config: Erc20CoinConfig): (Readonly<import("../account").Erc20Coin> | Readonly<import("../ofc").OfcCoin>)[];
export declare function generateTestErc20Coin(config: Erc20CoinConfig): (Readonly<import("../account").Erc20Coin> | Readonly<import("../ofc").OfcCoin>)[];
export declare function generateErc20Token(config: Erc20TokenConfig): (Readonly<import("../account").EthLikeERC20Token> | Readonly<import("../ofc").OfcCoin>)[];
export declare function generateTestErc20Token(config: Erc20TokenConfig): (Readonly<import("../account").EthLikeERC20Token> | Readonly<import("../ofc").OfcCoin>)[];
export {};
//# sourceMappingURL=generateERC20.d.ts.map