/// <reference types="node" />
import { BaseEvent, EventQueuer } from '../../base_event';
import { TokenEventResult, TokenErrorEventResult } from '../constants';
export interface TransferEventData {
    senderAddress: Buffer;
    tokenID: Buffer;
    amount: bigint;
    recipientAddress: Buffer;
}
export declare const transferEventSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        senderAddress: {
            dataType: string;
            format: string;
            fieldNumber: number;
        };
        recipientAddress: {
            dataType: string;
            format: string;
            fieldNumber: number;
        };
        tokenID: {
            dataType: string;
            minLength: number;
            maxLength: number;
            fieldNumber: number;
        };
        amount: {
            dataType: string;
            fieldNumber: number;
        };
        result: {
            dataType: string;
            fieldNumber: number;
        };
    };
};
export declare class TransferEvent extends BaseEvent<TransferEventData & {
    result: TokenEventResult;
}> {
    schema: {
        $id: string;
        type: string;
        required: string[];
        properties: {
            senderAddress: {
                dataType: string;
                format: string;
                fieldNumber: number;
            };
            recipientAddress: {
                dataType: string;
                format: string;
                fieldNumber: number;
            };
            tokenID: {
                dataType: string;
                minLength: number;
                maxLength: number;
                fieldNumber: number;
            };
            amount: {
                dataType: string;
                fieldNumber: number;
            };
            result: {
                dataType: string;
                fieldNumber: number;
            };
        };
    };
    log(ctx: EventQueuer, data: TransferEventData): void;
    error(ctx: EventQueuer, data: TransferEventData, result: TokenErrorEventResult): void;
}
