export interface EventQueueItem {
    type: EventType;
    data: EventData;
    timestamp: number;
    [key: string]: any;
}
export type EventType = 'message' | 'reaction' | 'typing' | 'seen_messages' | 'delivered_messages' | 'undo' | 'group_event' | 'friend_event' | 'connected' | 'disconnected' | 'error';
export type EventData = any;
export type ThreadType = 'user' | 'group';
export type MessageContentType = 'text' | 'image' | 'sticker' | 'gif' | 'file' | 'link' | 'video' | 'voice' | 'location' | 'unknown';
export interface WebhookData {
    eventQueue?: EventQueueItem[];
    isConnected?: boolean;
    eventTypes?: string[];
    connectionStatus?: 'connecting' | 'connected' | 'disconnected';
    lastConnectTime?: number;
    lastDisconnectTime?: number;
    disconnectReason?: string;
    lastError?: string;
    lastErrorTime?: number;
    connectCount?: number;
    lastCatchUpTime?: number;
}
export interface NodeConfig {
    selfListen: boolean;
    eventTypes: string[];
    messageContentTypes: string[];
    threadTypes: string[];
    specificIds: string;
    idList: string[];
    catchUpOnReconnect: boolean;
}
export interface ZaloCredentials {
    cookie: any;
    imei: string;
    userAgent: string;
}
