import { BaseEvent, EventQueuer } from '../../base_event';
import { CCMsg } from '../types';
export declare const enum CCMSentFailedCode {
    CHANNEL_UNAVAILABLE = 1,
    MESSAGE_FEE_EXCEPTION = 11,
    INVALID_PARAMS = 12,
    INVALID_FORMAT = 13,
    INVALID_RECEIVING_CHAIN = 14
}
export interface CcmSentFailedEventData {
    ccm: CCMsg;
    code: CCMSentFailedCode;
}
export declare const ccmSendFailDataSchema: {
    $id: string;
    type: string;
    required: string[];
    properties: {
        ccm: {
            fieldNumber: number;
            $id: string;
            type: string;
            required: string[];
            properties: {
                module: {
                    dataType: string;
                    minLength: number;
                    maxLength: number;
                    fieldNumber: number;
                };
                crossChainCommand: {
                    dataType: string;
                    minLength: number;
                    maxLength: number;
                    fieldNumber: number;
                };
                nonce: {
                    dataType: string;
                    fieldNumber: number;
                };
                fee: {
                    dataType: string;
                    fieldNumber: number;
                };
                sendingChainID: {
                    dataType: string;
                    minLength: number;
                    maxLength: number;
                    fieldNumber: number;
                };
                receivingChainID: {
                    dataType: string;
                    minLength: number;
                    maxLength: number;
                    fieldNumber: number;
                };
                params: {
                    dataType: string;
                    fieldNumber: number;
                };
                status: {
                    dataType: string;
                    fieldNumber: number;
                };
            };
        };
        code: {
            dataType: string;
            fieldNumber: number;
        };
    };
};
export declare class CcmSentFailedEvent extends BaseEvent<CcmSentFailedEventData> {
    schema: {
        $id: string;
        type: string;
        required: string[];
        properties: {
            ccm: {
                fieldNumber: number;
                $id: string;
                type: string;
                required: string[];
                properties: {
                    module: {
                        dataType: string;
                        minLength: number;
                        maxLength: number;
                        fieldNumber: number;
                    };
                    crossChainCommand: {
                        dataType: string;
                        minLength: number;
                        maxLength: number;
                        fieldNumber: number;
                    };
                    nonce: {
                        dataType: string;
                        fieldNumber: number;
                    };
                    fee: {
                        dataType: string;
                        fieldNumber: number;
                    };
                    sendingChainID: {
                        dataType: string;
                        minLength: number;
                        maxLength: number;
                        fieldNumber: number;
                    };
                    receivingChainID: {
                        dataType: string;
                        minLength: number;
                        maxLength: number;
                        fieldNumber: number;
                    };
                    params: {
                        dataType: string;
                        fieldNumber: number;
                    };
                    status: {
                        dataType: string;
                        fieldNumber: number;
                    };
                };
            };
            code: {
                dataType: string;
                fieldNumber: number;
            };
        };
    };
    log(ctx: EventQueuer, data: CcmSentFailedEventData, noRevert: boolean): void;
}
