import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions, VerifyTransactionOptions, Wallet } from '../';
export declare class Ofc extends BaseCoin {
    constructor(bitgo: BitGoBase);
    static createInstance(bitgo: BitGoBase): BaseCoin;
    getChain(): string;
    /**
     * Generate secp256k1 key pair
     *
     * @param seed
     * @returns {Object} object with generated pub and prv
     */
    generateKeyPair(seed?: Buffer): KeyPair;
    getFamily(): string;
    getFullName(): string;
    /**
     * Return whether the given m of n wallet signers/ key amounts are valid for the coin
     */
    isValidMofNSetup({ m, n }: {
        m: number;
        n: number;
    }): boolean;
    /**
     * Return boolean indicating whether input is valid public key for the coin.
     *
     * @param {String} pub the pub to be checked
     * @returns {Boolean} is it valid?
     */
    isValidPub(pub: string): boolean;
    isValidAddress(address: string): boolean;
    getBaseFactor(): number | string;
    parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
    isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
    verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
    signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
    /**
     * Signs a message using a trading wallet's BitGo Key
     * @param wallet - uses the BitGo key of this trading wallet to sign the message remotely in a KMS
     * @param message
     */
    signMessage(wallet: Wallet, message: string): Promise<Buffer>;
    /**
     * Signs a message using the private key
     * @param key - uses the private key to sign the message
     * @param message
     */
    signMessage(key: {
        prv: string;
    }, message: string): Promise<Buffer>;
    /** @inheritDoc */
    auditDecryptedKey(params: AuditDecryptedKeyParams): void;
}
//# sourceMappingURL=ofc.d.ts.map