/**
 * @prettier
 */
import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, CoinConstructor, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions, VerifyTransactionOptions } from '../';
export interface FiatCoinConfig {
    chain: string;
    fullName: string;
    baseFactor: number;
}
export declare class Fiat extends BaseCoin {
    private readonly config;
    constructor(bitgo: BitGoBase, config: FiatCoinConfig);
    static createConstructor(config: FiatCoinConfig): CoinConstructor;
    getBaseFactor(): number;
    getChain(): string;
    getFamily(): string;
    getFullName(): string;
    isValidMofNSetup({ m, n }: {
        m: number;
        n: number;
    }): boolean;
    isValidAddress(address: string): boolean;
    generateKeyPair(seed?: Buffer): KeyPair;
    isValidPub(pub: string): boolean;
    parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
    isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
    verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
    signTransaction(params?: SignTransactionOptions): Promise<SignedTransaction>;
    /** @inheritDoc */
    auditDecryptedKey(params: AuditDecryptedKeyParams): void;
}
/**
 * Configuration for all fiat currencies.
 * To add a new fiat currency, just add an entry here — registration is automatic.
 */
export declare const fiatCoins: FiatCoinConfig[];
/**
 * Testnet configs derived automatically from mainnet configs.
 */
export declare const testnetFiatCoins: FiatCoinConfig[];
/**
 * All fiat coin configs (mainnet + testnet).
 */
export declare const allFiatCoins: FiatCoinConfig[];
//# sourceMappingURL=fiat.d.ts.map