/**
 * 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 { HighlightField } from './HighlightField';
import type { DslQuery } from './DslQuery';
/**
 * A <a href="https://docs.opensearch.org/latest/search-plugins/searching-data/highlight/">highlight</a> block. Adds matched-term snippet fragments to each hit. Top-level options apply to every highlighted field unless overridden in a per-field block under <code>fields</code>.
 * @export
 * @interface Highlight
 */
export interface Highlight {
    /**
     * Optional. Maximum characters per highlighted fragment. Capped server-side.
     * @type {number}
     * @memberof Highlight
     */
    fragment_size?: number;
    /**
     * Optional. Character offset at which to start highlighting (fvh only).
     * @type {number}
     * @memberof Highlight
     */
    fragment_offset?: number;
    /**
     * Optional. Number of leading characters to return when there is no match.
     * @type {number}
     * @memberof Highlight
     */
    no_match_size?: number;
    /**
     * Optional. Fragment ordering: <code>none</code> (default) or <code>score</code>.
     * @type {string}
     * @memberof Highlight
     */
    order?: string;
    /**
     * Optional. Fragmentation strategy: <code>simple</code> or <code>span</code> (plain highlighter).
     * @type {string}
     * @memberof Highlight
     */
    fragmenter?: string;
    /**
     * Optional. Boundary detection: <code>chars</code>, <code>sentence</code>, or <code>word</code>.
     * @type {string}
     * @memberof Highlight
     */
    boundary_scanner?: string;
    /**
     * Optional. Locale used by the boundary scanner.
     * @type {string}
     * @memberof Highlight
     */
    boundary_scanner_locale?: string;
    /**
     * Optional. Characters treated as boundaries by the <code>chars</code> scanner.
     * @type {string}
     * @memberof Highlight
     */
    boundary_chars?: string;
    /**
     * Optional. How far the boundary scanner looks for a boundary.
     * @type {number}
     * @memberof Highlight
     */
    boundary_max_scan?: number;
    /**
     * Optional. Maximum length of a fragment.
     * @type {number}
     * @memberof Highlight
     */
    max_fragment_length?: number;
    /**
     * Optional. Maximum character offset analyzed for highlighting.
     * @type {number}
     * @memberof Highlight
     */
    max_analyzer_offset?: number;
    /**
     * Optional. Maximum number of matching phrases considered (fvh only).
     * @type {number}
     * @memberof Highlight
     */
    phrase_limit?: number;
    /**
     * Optional. Whether only fields that matched the query are highlighted. Default <code>true</code>.
     * @type {boolean}
     * @memberof Highlight
     */
    require_field_match?: boolean;
    /**
     * Optional. Whether to highlight only fields that passed the query filter.
     * @type {boolean}
     * @memberof Highlight
     */
    highlight_filter?: boolean;
    /**
     * Optional. Whether to highlight from the original <code>_source</code> rather than stored fields.
     * @type {boolean}
     * @memberof Highlight
     */
    force_source?: boolean;
    /**
     * Optional. Built-in tag schema (<code>styled</code>) for the highlight markup.
     * @type {string}
     * @memberof Highlight
     */
    tags_schema?: string;
    /**
     * Required. The columns to highlight, keyed by column name; each value is its per-field option overrides.
     * @type {{ [key: string]: HighlightField; }}
     * @memberof Highlight
     */
    fields?: {
        [key: string]: HighlightField;
    };
    /**
     * Optional. Default highlighter implementation: <code>unified</code> (default), <code>plain</code>, or <code>fvh</code>. The <code>semantic</code> highlighter is rejected.
     * @type {string}
     * @memberof Highlight
     */
    type?: string;
    /**
     * Optional. Maximum number of fragments per field. Capped server-side.
     * @type {number}
     * @memberof Highlight
     */
    number_of_fragments?: number;
    /**
     * Optional. How highlighted text is encoded: <code>default</code> or <code>html</code>.
     * @type {string}
     * @memberof Highlight
     */
    encoder?: string;
    /**
     * Optional. Opening tags wrapped around highlighted terms. Default <code>&lt;em&gt;</code>.
     * @type {Array<string>}
     * @memberof Highlight
     */
    pre_tags?: Array<string>;
    /**
     * Optional. Closing tags wrapped around highlighted terms. Default <code>&lt;/em&gt;</code>.
     * @type {Array<string>}
     * @memberof Highlight
     */
    post_tags?: Array<string>;
    /**
     *
     * @type {DslQuery}
     * @memberof Highlight
     */
    highlight_query?: DslQuery;
}
/**
 * Check if a given object implements the Highlight interface.
 */
export declare function instanceOfHighlight(value: object): value is Highlight;
export declare function HighlightFromJSON(json: any): Highlight;
export declare function HighlightFromJSONTyped(json: any, ignoreDiscriminator: boolean): Highlight;
export declare function HighlightToJSON(json: any): Highlight;
export declare function HighlightToJSONTyped(value?: Highlight | null, ignoreDiscriminator?: boolean): any;
