/// <reference types="node" />
import { BaseEvent, EventQueuer } from '../../base_event';
import { TokenEventResult, TokenErrorEventResult } from '../constants';
export interface CCMTransferEventData {
    senderAddress: Buffer;
    tokenID: Buffer;
    amount: bigint;
    recipientAddress: Buffer;
    receivingChainID: Buffer;
}
export declare const ccmTransferEventSchema: {
    $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;
        };
        receivingChainID: {
            dataType: string;
            minLength: number;
            maxLength: number;
            fieldNumber: number;
        };
        result: {
            dataType: string;
            fieldNumber: number;
        };
    };
};
export declare class CcmTransferEvent extends BaseEvent<CCMTransferEventData & {
    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;
            };
            receivingChainID: {
                dataType: string;
                minLength: number;
                maxLength: number;
                fieldNumber: number;
            };
            result: {
                dataType: string;
                fieldNumber: number;
            };
        };
    };
    log(ctx: EventQueuer, data: CCMTransferEventData): void;
    error(ctx: EventQueuer, data: CCMTransferEventData, result: TokenErrorEventResult): void;
}
