/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { DslQuery } from './DslQuery';
/**
 * Per-field <a href="https://docs.opensearch.org/latest/search-plugins/searching-data/highlight/">highlight</a> options, carried as the value of a <a href="${org.sagebionetworks.repo.model.search.dsl.Highlight}">Highlight</a> <code>fields</code> entry (the map key is the column name). Any option set here overrides the top-level highlight option for this field.
 * @export
 * @interface HighlightField
 */
export interface HighlightField {
    /**
     * Optional. Maximum characters per highlighted fragment. Capped server-side.
     * @type {number}
     * @memberof HighlightField
     */
    fragment_size?: number;
    /**
     * Optional. Character offset at which to start highlighting (fvh only).
     * @type {number}
     * @memberof HighlightField
     */
    fragment_offset?: number;
    /**
     * Optional. Number of leading characters to return when there is no match.
     * @type {number}
     * @memberof HighlightField
     */
    no_match_size?: number;
    /**
     * Optional. Fragment ordering: <code>none</code> (default) or <code>score</code>.
     * @type {string}
     * @memberof HighlightField
     */
    order?: string;
    /**
     * Optional. Fragmentation strategy: <code>simple</code> or <code>span</code> (plain highlighter).
     * @type {string}
     * @memberof HighlightField
     */
    fragmenter?: string;
    /**
     * Optional. Boundary detection: <code>chars</code>, <code>sentence</code>, or <code>word</code>.
     * @type {string}
     * @memberof HighlightField
     */
    boundary_scanner?: string;
    /**
     * Optional. Locale used by the boundary scanner.
     * @type {string}
     * @memberof HighlightField
     */
    boundary_scanner_locale?: string;
    /**
     * Optional. Characters treated as boundaries by the <code>chars</code> scanner.
     * @type {string}
     * @memberof HighlightField
     */
    boundary_chars?: string;
    /**
     * Optional. How far the boundary scanner looks for a boundary.
     * @type {number}
     * @memberof HighlightField
     */
    boundary_max_scan?: number;
    /**
     * Optional. Maximum length of a fragment.
     * @type {number}
     * @memberof HighlightField
     */
    max_fragment_length?: number;
    /**
     * Optional. Maximum character offset analyzed for highlighting.
     * @type {number}
     * @memberof HighlightField
     */
    max_analyzer_offset?: number;
    /**
     * Optional. Maximum number of matching phrases considered (fvh only).
     * @type {number}
     * @memberof HighlightField
     */
    phrase_limit?: number;
    /**
     * Optional. Whether only fields that matched the query are highlighted. Default <code>true</code>.
     * @type {boolean}
     * @memberof HighlightField
     */
    require_field_match?: boolean;
    /**
     * Optional. Whether to highlight only fields that passed the query filter.
     * @type {boolean}
     * @memberof HighlightField
     */
    highlight_filter?: boolean;
    /**
     * Optional. Whether to highlight from the original <code>_source</code> rather than stored fields.
     * @type {boolean}
     * @memberof HighlightField
     */
    force_source?: boolean;
    /**
     * Optional. Built-in tag schema (<code>styled</code>) for the highlight markup.
     * @type {string}
     * @memberof HighlightField
     */
    tags_schema?: string;
    /**
     * Optional. Highlighter implementation: <code>unified</code> (default), <code>plain</code>, or <code>fvh</code>. The <code>semantic</code> highlighter is rejected.
     * @type {string}
     * @memberof HighlightField
     */
    type?: string;
    /**
     * Optional. Maximum number of fragments to return for this field. Capped server-side.
     * @type {number}
     * @memberof HighlightField
     */
    number_of_fragments?: number;
    /**
     * Optional. Opening tags wrapped around highlighted terms.
     * @type {Array<string>}
     * @memberof HighlightField
     */
    pre_tags?: Array<string>;
    /**
     * Optional. Closing tags wrapped around highlighted terms.
     * @type {Array<string>}
     * @memberof HighlightField
     */
    post_tags?: Array<string>;
    /**
     * Optional. Other fields whose matches also highlight this field (fvh only).
     * @type {Array<string>}
     * @memberof HighlightField
     */
    matched_fields?: Array<string>;
    /**
     *
     * @type {DslQuery}
     * @memberof HighlightField
     */
    highlight_query?: DslQuery;
}
/**
 * Check if a given object implements the HighlightField interface.
 */
export declare function instanceOfHighlightField(value: object): value is HighlightField;
export declare function HighlightFieldFromJSON(json: any): HighlightField;
export declare function HighlightFieldFromJSONTyped(json: any, ignoreDiscriminator: boolean): HighlightField;
export declare function HighlightFieldToJSON(json: any): HighlightField;
export declare function HighlightFieldToJSONTyped(value?: HighlightField | null, ignoreDiscriminator?: boolean): any;
