import { XodActionType, XodBaseMessageType, XodEventType, XodJobType } from './message.types';
export interface KafkaCallbackResponse<T = unknown> {
    success: boolean;
    statusCode: number;
    message: string;
    payload?: T;
}
export type KafkaCallbackResponseType<T = string> = (additionalMessage?: T) => (message: XodBaseMessageType) => Promise<KafkaCallbackResponse>;
export interface XodResponseType {
    type: 'ACTION' | 'EVENT' | 'JOB';
    message: XodActionType | XodEventType | XodJobType;
    result: KafkaCallbackResponse;
    responseSource: string;
}
export interface XodEventResponseType extends XodResponseType {
    type: 'EVENT';
    message: XodEventType;
}
export interface XodActionResponseType extends XodResponseType {
    type: 'ACTION';
    message: XodActionType;
}
export interface XodJobResponseType extends XodResponseType {
    type: 'JOB';
    message: XodJobType;
}
export declare function isXodResponseType(obj?: Partial<XodResponseType>): obj is XodResponseType;
