import { IInitOpt, QueryOption, IQueryParams, IMsg } from './type';
/**
 * 全文搜索扩展函数
 * @param NimSdk im sdk的类
 */
declare const fullText: (NimSdk: any) => {
    new (initOpt: IInitOpt): {
        [x: string]: any;
        queryOption: QueryOption;
        enablePinyin: boolean;
        searchDB: any;
        searchDBName: string;
        searchDBPath: string;
        fullSearchCutFunc?: ((text: string) => string[]) | undefined;
        msgStockQueue: any[];
        msgQueue: any[];
        timeout: any;
        logger: any;
        initDB(): Promise<void>;
        loadExtension(filePath?: string | undefined): Promise<void>;
        loadDict(): Promise<void>;
        backupDBFile(): Promise<void>;
        restoreDBFile(): Promise<void>;
        checkDbSafe(): Promise<void>;
        rebuildDbIndex(): Promise<void>;
        formatSQLText(src: string): string;
        createTable(): Promise<void>;
        sendText(opt: any): any;
        sendCustomMsg(opt: any): any;
        saveMsgsToLocal(opt: any): any;
        deleteMsg(opt: any): any;
        deleteLocalMsg(opt: any): any;
        deleteLocalMsgs(opt: any): Promise<void>;
        deleteLocalMsgsBySession(opt: any): Promise<void>;
        deleteAllLocalMsgs(opt: any): any;
        deleteMsgSelf(opt: any): any;
        deleteMsgSelfBatch(opt: any): any;
        getLocalMsgsToFts(opt: any): Promise<any>;
        queryFts(params: IQueryParams): Promise<any>;
        putFts(msgs: IMsg | IMsg[], isStock?: boolean): void;
        _putFts(isStock?: boolean): Promise<void>;
        _doInsert(msgs: IMsg[]): Promise<void>;
        deleteFts(ids: string | string[]): Promise<void>;
        clearAllFts(): Promise<void>;
        dropAllFts(): Promise<void>;
        destroy(options: any): void;
        _handleQueryParams({ text, sessionIds, froms, timeDirection, limit, offset, start, end, queryOption, }: IQueryParams): string;
    };
    [x: string]: any;
    instance: {
        [x: string]: any;
        queryOption: QueryOption;
        enablePinyin: boolean;
        searchDB: any;
        searchDBName: string;
        searchDBPath: string;
        fullSearchCutFunc?: ((text: string) => string[]) | undefined;
        msgStockQueue: any[];
        msgQueue: any[];
        timeout: any;
        logger: any;
        initDB(): Promise<void>;
        loadExtension(filePath?: string | undefined): Promise<void>;
        loadDict(): Promise<void>;
        backupDBFile(): Promise<void>;
        restoreDBFile(): Promise<void>;
        checkDbSafe(): Promise<void>;
        rebuildDbIndex(): Promise<void>;
        formatSQLText(src: string): string;
        createTable(): Promise<void>;
        sendText(opt: any): any;
        sendCustomMsg(opt: any): any;
        saveMsgsToLocal(opt: any): any;
        deleteMsg(opt: any): any;
        deleteLocalMsg(opt: any): any;
        deleteLocalMsgs(opt: any): Promise<void>;
        deleteLocalMsgsBySession(opt: any): Promise<void>;
        deleteAllLocalMsgs(opt: any): any;
        deleteMsgSelf(opt: any): any;
        deleteMsgSelfBatch(opt: any): any;
        getLocalMsgsToFts(opt: any): Promise<any>;
        queryFts(params: IQueryParams): Promise<any>;
        putFts(msgs: IMsg | IMsg[], isStock?: boolean): void;
        _putFts(isStock?: boolean): Promise<void>;
        _doInsert(msgs: IMsg[]): Promise<void>;
        deleteFts(ids: string | string[]): Promise<void>;
        clearAllFts(): Promise<void>;
        dropAllFts(): Promise<void>;
        destroy(options: any): void;
        _handleQueryParams({ text, sessionIds, froms, timeDirection, limit, offset, start, end, queryOption, }: IQueryParams): string;
    } | null;
    getInstance(initOpt: IInitOpt): Promise<any>;
};
export default fullText;
