export interface KafkaBrokerConfig {
    groupId: string;
    clientId: string;
    brokers: Array<string>;
    sasl?: object;
    intervalCheckForNewTopics?: number;
    disableLogs?: boolean;
    autoCommitThreshold?: number;
    autoCommitInterval?: number;
    partitionsConsumedConcurrently?: number;
    useConfluentLibrary?: boolean;
    newConsumerProtocol?: boolean;
}
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 XodBaseMessageType {
    type: 'ACTION' | 'EVENT' | 'SOURCE' | 'JOB';
    eventId: string;
    eventType: string;
    eventTopic?: string;
    created: number;
    payload: object;
    ttl: number;
    tenantIdentifier: string;
    testRun?: boolean;
    meta?: {
        [key: string]: unknown;
    };
}
export interface XodJobType extends XodBaseMessageType {
    type: 'JOB';
    actionIdentifier: string;
    actionVersion: string;
    payload: Record<string, unknown>;
}
