export = EventCoder;
declare class EventCoder {
    /**
     * Event coder
     *
     * @param {object} options
     * @param {boolean} options.anonymous
     * @param {string} options.name
     * @param {array} options.inputs
     * @return {EventCoder}
     *
     * @example
     * > abi = {
      name: 'EventName',
      anonymous: false,
      inputs: [
        {
          indexed: true,
          name: 'account',
          type: 'address',
        },
        {
          indexed: false,
          name: 'number',
          type: 'uint',
        },
      ],
     }
     * > coder = new EventCoder(abi)
     EventCoder {
        anonymous: false,
        name: 'EventName',
        inputs: [
          { indexed: true, name: 'account', type: 'address' },
          { indexed: false, name: 'number', type: 'uint' }
        ],
        type: 'EventName(address,uint256)',
        NamedTuple: [Function: NamedTuple(account,number)]
      }
     */
    constructor({ anonymous, name, inputs }: {
        anonymous: boolean;
        name: string;
        inputs: any[];
    });
    anonymous: boolean;
    name: string;
    fullName: string;
    type: string;
    signature: any;
    inputs: any[];
    inputCoders: import("../abi/BaseCoder")[];
    dataCoder: import("../abi/BaseCoder");
    /** @type {object} */
    NamedTuple: object;
    /**
     * Encode topics by params
     *
     * @param {any[]} args
     * @return {string[]}
     * @example
     * > coder = new EventCoder(abi)
     * > coder.encodeTopics(['0x0123456789012345678901234567890123456789', null])
     ['0x0000000000000000000000000123456789012345678901234567890123456789']
     */
    encodeTopics(args: any[]): string[];
    /**
     * Decode log
     *
     * @param {array} topics - Array of hex sting
     * @param {string} data - Hex string
     * @return {array} NamedTuple
     *
     * @example
     * > coder = new EventCoder(abi)
     * > result = coder.decodeLog({
        data: '0x000000000000000000000000000000000000000000000000000000000000000a',
        topics: [
          '0xb0333e0e3a6b99318e4e2e0d7e5e5f93646f9cbf62da1587955a4092bf7df6e7',
          '0x0000000000000000000000000123456789012345678901234567890123456789',
        ],
      })
     NamedTuple(account,number) [ '0x0123456789012345678901234567890123456789', 10n ]
     * > console.log([...result])
     [ 0x0123456789012345678901234567890123456789, 10n ]
     * > console.log(result.account) // `account` a field name in abi
     "0x0123456789012345678901234567890123456789"
     * > console.log(result.number) // `number` a field name in abi
     10n
     */
    decodeLog({ topics, data }: any[]): any[];
}
//# sourceMappingURL=EventCoder.d.ts.map