import { ChatMessageItem, ChatSender, QuickMessageTemplateContent, TChatItem } from './type';
interface TranslatedMessage {
    business_id: string;
    shop_id: string;
    chat_id: string;
    message_id: string;
    translated_text: string;
    created_at?: number;
    is_translate_from_input?: boolean;
}
export declare function initDB(): void;
export declare function getTranslation({ chat_id, message_ids }: {
    chat_id: string;
    message_ids: string[];
}): Promise<TranslatedMessage[]>;
export declare function storeTranslation(data: {
    chat_id: string;
    message_id: string;
    translated_text: string;
    is_translate_from_input?: boolean;
}): Promise<void>;
export declare function getTranslationsByChat({ business_id, shop_id, chat_id }: {
    business_id: string;
    shop_id: string;
    chat_id: string;
}): Promise<any[]>;
export declare function getOrFetchTranslation({ chat_id, message_ids, referenceMessages, skipFetch, }: {
    chat_id: string;
    message_ids: string[];
    referenceMessages?: ChatMessageItem[];
    skipFetch?: boolean;
}): Promise<{
    messages: {
        id: string;
        text: string;
        is_translate_from_input?: boolean;
    }[];
}>;
export declare function handleGetChatMessages({ startMessageId, next, prev, isNewer, sessionId: callerSessionId, }: {
    startMessageId?: string;
    next?: string;
    prev?: string;
    isNewer?: boolean;
    sessionId?: string;
}): Promise<void>;
export declare function serviceUpdateMessageItems({ updateMessages, clearSending, clearMessages, }: {
    updateMessages: ChatMessageItem[];
    clearSending?: boolean;
    clearMessages?: boolean;
}): void;
export declare function handleMapReadMessage(): void;
export declare function serviceReadMessage(sessionId: string): Promise<boolean>;
export declare function serviceUnReadMessage(sessionId: string): Promise<boolean>;
export declare function serviceUpdateChatItem({ chatId, updateValue }: {
    chatId: string;
    updateValue: Partial<TChatItem>;
}): void;
export declare function scrollBottomMessage(chatId: string): void;
export declare function setHighlight(ranges: Range[]): void;
export declare function clearHighlight(): void;
export declare function scrollToMessage({ messageId, force, focus, highlight, search }: {
    messageId: string;
    force?: boolean;
    focus?: boolean;
    highlight?: boolean;
    search?: string;
}): boolean;
export declare function getMessagePicture(sender: ChatSender, item: TChatItem): string;
export declare function validateMessageTemplate(content: QuickMessageTemplateContent): boolean;
export {};
