import { Connection } from "./connection";
export declare type AnalyzerDescription = AnyAnalyzer & {
    name: string;
    features: string[];
};
export declare type CreateAnalyzerOptions = AnyAnalyzer & {
    features?: string[];
};
export declare type AnyAnalyzer = IdentityAnalyzer | DelimiterAnalyzer | StemAnalyzer | NormAnalyzer | NgramAnalyzer | TextAnalyzer;
export interface IdentityAnalyzer {
    type: "identity";
    properties?: null;
}
export interface DelimiterAnalyzer {
    type: "delimiter";
    properties: string | {
        delimiter: string;
    };
}
export interface StemAnalyzer {
    type: "stem";
    properties: {
        locale: string;
    };
}
export interface NormAnalyzer {
    type: "norm";
    properties: {
        locale: string;
        case?: "lower" | "none" | "upper";
        accent?: boolean;
    };
}
export interface NgramAnalyzer {
    type: "ngram";
    properties: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    };
}
export interface TextAnalyzer {
    type: "text";
    properties: {
        locale: string;
        case?: "lower" | "none" | "upper";
        stopwords?: string[];
        stopwordsPath?: string;
        accent?: boolean;
        stemming?: boolean;
    };
}
export declare class ArangoAnalyzer {
    private _connection;
    isArangoAnalyzer: boolean;
    name: string;
    constructor(connection: Connection, name: string);
    get(): Promise<AnalyzerDescription>;
    exists(): Promise<boolean>;
    create(options: CreateAnalyzerOptions): Promise<AnalyzerDescription>;
    drop(force?: boolean): Promise<{
        name: string;
    }>;
}
//# sourceMappingURL=analyzer.d.ts.map