/**
 * Indexea OpenAPI
 * 这是 Indexea 搜索服务平台的 OpenAPI，用于描述平台的所有接口信息，你可以通过这个页面来了解和在线验证平台的所有接口信息。  ### Errors  本 API 使用标准的 HTTP 状态码来指示操作成功或者失败，如果失败将会在 body 中以 JSON 格式提供详细的错误信息，如下所示：  ``` {   \"error\": 404,   \"message\": \"page not found\" } ```
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: indexea.com@gmail.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import type { AutoCompleteItem, QueryActionBean, SearchWord } from '../models';
export interface SearchClickRequest {
    widget: string;
    actionId: string;
    docId: string;
    xToken?: string;
    userid?: string;
}
export interface SearchHistoriesRequest {
    widget: string;
    strategy: SearchHistoriesStrategyEnum;
    size: number;
    xToken?: string;
    userid?: string;
    query?: number;
}
export interface SearchLogsRequest {
    app: string;
    indices?: Array<number>;
    scope?: SearchLogsScopeEnum;
    widget?: number;
    query?: number;
    recomm?: number;
    startDate?: Date;
    endDate?: Date;
    from?: number;
    size?: number;
}
export interface SearchQueryClickRequest {
    query: string;
    actionId: string;
    docId: string;
    xToken?: string;
    userid?: string;
}
export interface SearchQueryHistoriesRequest {
    query: string;
    strategy: SearchQueryHistoriesStrategyEnum;
    size: number;
    xToken?: string;
    userid?: string;
}
export interface SearchQueryHotWordsRequest {
    query: string;
    scope: SearchQueryHotWordsScopeEnum;
    count: number;
    xToken?: string;
    userid?: string;
}
export interface SearchQueryRepeatScrollRequest {
    query: string;
    id: string;
    xToken?: string;
    userid?: string;
}
export interface SearchQueryScrollRequest {
    query: string;
    xToken?: string;
    userid?: string;
    size?: number;
    q?: string;
    params?: {
        [key: string]: string;
    };
}
export interface SearchQuerySearchRequest {
    query: string;
    xToken?: string;
    userid?: string;
    q?: string;
    from?: number;
    size?: number;
    params?: {
        [key: string]: string;
    };
}
export interface SearchWidgetAutoCompleteRequest {
    widget: string;
    q: string;
    size: number;
    xToken?: string;
    userid?: string;
    query?: number;
}
export interface SearchWidgetHotWordsRequest {
    widget: string;
    xToken?: string;
    userid?: string;
    query?: number;
    scope?: SearchWidgetHotWordsScopeEnum;
    count?: number;
}
export interface SearchWidgetSearchRequest {
    widget: string;
    xToken?: string;
    userid?: string;
    original?: string;
    query?: number;
    q?: string;
    from?: number;
    size?: number;
    params?: {
        [key: string]: string;
    };
}
/**
 *
 */
export declare class SearchApi extends runtime.BaseAPI {
    /**
     * 该接口主要用于记录用户对搜索结果的点击行为
     * 搜索结果点击行为收集
     */
    searchClickRaw(requestParameters: SearchClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<boolean>>;
    /**
     * 该接口主要用于记录用户对搜索结果的点击行为
     * 搜索结果点击行为收集
     */
    searchClick(requestParameters: SearchClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<boolean>;
    /**
     * 获取当前搜索用户的最新搜索记录
     */
    searchHistoriesRaw(requestParameters: SearchHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<string>>>;
    /**
     * 获取当前搜索用户的最新搜索记录
     */
    searchHistories(requestParameters: SearchHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<string>>;
    /**
     * 该接口主要用于获取搜索明细
     * 获取搜索日志
     */
    searchLogsRaw(requestParameters: SearchLogsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<QueryActionBean>>>;
    /**
     * 该接口主要用于获取搜索明细
     * 获取搜索日志
     */
    searchLogs(requestParameters: SearchLogsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<QueryActionBean>>;
    /**
     * 该接口主要用于记录用户对搜索结果的点击行为
     * 搜索结果点击行为收集
     */
    searchQueryClickRaw(requestParameters: SearchQueryClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<boolean>>;
    /**
     * 该接口主要用于记录用户对搜索结果的点击行为
     * 搜索结果点击行为收集
     */
    searchQueryClick(requestParameters: SearchQueryClickRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<boolean>;
    /**
     * 获取当前搜索用户的最新搜索记录
     */
    searchQueryHistoriesRaw(requestParameters: SearchQueryHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<string>>>;
    /**
     * 获取当前搜索用户的最新搜索记录
     */
    searchQueryHistories(requestParameters: SearchQueryHistoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<string>>;
    /**
     * 获取查询相关热词
     */
    searchQueryHotWordsRaw(requestParameters: SearchQueryHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<SearchWord>>>;
    /**
     * 获取查询相关热词
     */
    searchQueryHotWords(requestParameters: SearchQueryHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<SearchWord>>;
    /**
     * 先调用 search.queryScroll 获取 scroll_id 值以及第一批结果记录，然后使用 scroll_id 值调用该接口获取下一批结果记录，请注意该值的有效期是 1 分钟
     * 读取滚动搜索结果
     */
    searchQueryRepeatScrollRaw(requestParameters: SearchQueryRepeatScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
    /**
     * 先调用 search.queryScroll 获取 scroll_id 值以及第一批结果记录，然后使用 scroll_id 值调用该接口获取下一批结果记录，请注意该值的有效期是 1 分钟
     * 读取滚动搜索结果
     */
    searchQueryRepeatScroll(requestParameters: SearchQueryRepeatScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
    /**
     * 用于读取超过 10000 条记录的搜索结果，当需要读取大批量查询结果时请采用此接口获得 scroll_id 值，然后再用 POST 方法 queryRepeatScroll 读取剩余的其他结果，每批次的读取间隔不能超过 1 分钟
     * 基于查询的滚动搜索
     */
    searchQueryScrollRaw(requestParameters: SearchQueryScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
    /**
     * 用于读取超过 10000 条记录的搜索结果，当需要读取大批量查询结果时请采用此接口获得 scroll_id 值，然后再用 POST 方法 queryRepeatScroll 读取剩余的其他结果，每批次的读取间隔不能超过 1 分钟
     * 基于查询的滚动搜索
     */
    searchQueryScroll(requestParameters: SearchQueryScrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
    /**
     * 该接口主要用于公开搜索，如果查询是公开的就不需要授权
     * 基于查询的公开搜索
     */
    searchQuerySearchRaw(requestParameters: SearchQuerySearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
    /**
     * 该接口主要用于公开搜索，如果查询是公开的就不需要授权
     * 基于查询的公开搜索
     */
    searchQuerySearch(requestParameters: SearchQuerySearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
    /**
     * 该接口主要为搜索输入框提供自动完成的功能
     * 基于组件的搜索词自动完成
     */
    searchWidgetAutoCompleteRaw(requestParameters: SearchWidgetAutoCompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<AutoCompleteItem>>>;
    /**
     * 该接口主要为搜索输入框提供自动完成的功能
     * 基于组件的搜索词自动完成
     */
    searchWidgetAutoComplete(requestParameters: SearchWidgetAutoCompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<AutoCompleteItem>>;
    /**
     * 获取组件搜索的相关热词
     */
    searchWidgetHotWordsRaw(requestParameters: SearchWidgetHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<SearchWord>>>;
    /**
     * 获取组件搜索的相关热词
     */
    searchWidgetHotWords(requestParameters: SearchWidgetHotWordsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<SearchWord>>;
    /**
     * 该接口主要为UI组件提供公开搜索
     * 基于组件的公开搜索
     */
    searchWidgetSearchRaw(requestParameters: SearchWidgetSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
    /**
     * 该接口主要为UI组件提供公开搜索
     * 基于组件的公开搜索
     */
    searchWidgetSearch(requestParameters: SearchWidgetSearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
}
/**
 * @export
 */
export declare const SearchHistoriesStrategyEnum: {
    readonly Recent: "recent";
    readonly Popular: "popular";
};
export type SearchHistoriesStrategyEnum = typeof SearchHistoriesStrategyEnum[keyof typeof SearchHistoriesStrategyEnum];
/**
 * @export
 */
export declare const SearchLogsScopeEnum: {
    readonly All: "all";
    readonly Search: "search";
    readonly Recomm: "recomm";
};
export type SearchLogsScopeEnum = typeof SearchLogsScopeEnum[keyof typeof SearchLogsScopeEnum];
/**
 * @export
 */
export declare const SearchQueryHistoriesStrategyEnum: {
    readonly Recent: "recent";
    readonly Popular: "popular";
};
export type SearchQueryHistoriesStrategyEnum = typeof SearchQueryHistoriesStrategyEnum[keyof typeof SearchQueryHistoriesStrategyEnum];
/**
 * @export
 */
export declare const SearchQueryHotWordsScopeEnum: {
    readonly Month: "month";
    readonly Year: "year";
    readonly All: "all";
};
export type SearchQueryHotWordsScopeEnum = typeof SearchQueryHotWordsScopeEnum[keyof typeof SearchQueryHotWordsScopeEnum];
/**
 * @export
 */
export declare const SearchWidgetHotWordsScopeEnum: {
    readonly Month: "month";
    readonly Year: "year";
    readonly All: "all";
    readonly Custom: "custom";
};
export type SearchWidgetHotWordsScopeEnum = typeof SearchWidgetHotWordsScopeEnum[keyof typeof SearchWidgetHotWordsScopeEnum];
