import { CommonResponse } from "./Common"; import { IndexState, IndexStructureType, IndexType, InvertedIndexFieldAttribute, MetricType } from "./Const"; export type IndexParams = Record; export interface AutoBuildPolicy { policyType: string; } export interface AutoBuildTimingPolicy extends AutoBuildPolicy { timing: string; } export interface AutoBuildPeriodicalPolicy extends AutoBuildPolicy { timing?: string; periodicalInSecond: number; } export interface AutoBuildIncrementPolicy extends AutoBuildPolicy { rowCountIncrement?: number; rowCountIncrementRatio?: number; } export declare function AutoBuildTiming(timing: string): AutoBuildPolicy; export declare function AutoBuildPeriodical(timing: string, periodS: number): AutoBuildPolicy; export declare function AutoBuildIncrement(rowCountIncrement: number, rowCountIncrementRatio: number): AutoBuildPolicy; export type FilteringIndexField = { field: string; indexStructureType: IndexStructureType; }; export interface IndexSchema { indexName: string; indexType: IndexType; metricType?: MetricType; params?: IndexParams; field?: string; fields?: string[] | FilteringIndexField[]; fieldAttributes?: InvertedIndexFieldAttribute[]; state?: IndexState; autoBuild?: boolean; autoBuildPolicy?: AutoBuildPolicy; } export interface DescIndexResponse extends CommonResponse { index: IndexSchema; }