/**
 * 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.
 */
/**
 * <p>A shareable OpenSearch <a href='https://docs.opensearch.org/latest/analyzers/token-filters/synonym-graph/'>synonym_graph</a> (or legacy <a href='https://docs.opensearch.org/latest/analyzers/token-filters/synonym/'>synonym</a>) token filter. SynonymSets belong to an Organization; the qualified name <code>{organizationName}-{name}</code> is what a TextAnalyzer references via <code>{"$ref": "{organizationName}-{name}"}</code> inside its <code>settings.filter</code> registry map to bring this filter into the analyzer.</p><p>Example &mdash; OpenSearch native synonym syntax: <code>a, b, c</code> for equivalent (bidirectional) and <code>a, b =&gt; c, d</code> for explicit (directional) expansion. The <code>definition</code> field is a JSON object &mdash; paste OpenSearch examples directly without escaping:</p><pre><code>{
 *   "organizationName": "biomed",
 *   "name": "medical_terms",
 *   "definition": {
 *     "type": "synonym_graph",
 *     "synonyms": [
 *       "tumor, neoplasm, cancer",
 *       "AD =&gt; Alzheimer's disease"
 *     ]
 *   }
 * }</code></pre><p>Tuning suggestions:</p><ul><li>Multi-word synonyms &mdash; prefer <code>synonym_graph</code> (it handles phrases correctly).</li><li>Disable bidirectional expansion (only the LHS is a synonym source): set <code>"expand":false</code> in the definition.</li><li>Tolerate malformed rule lines without failing the whole filter: set <code>"lenient":true</code> in the definition.</li></ul><p>Cannot be deleted while any persisted resource references it. See the OpenSearch <a href='https://docs.opensearch.org/latest/analyzers/token-filters/synonym-graph/'>synonym_graph filter docs</a> for the full parameter list (synonyms, format, expand, lenient, etc.).</p>
 * @export
 * @interface SynonymSet
 */
export interface SynonymSet {
    /**
     * The unique ID of this synonym set.
     * @type {string}
     * @memberof SynonymSet
     */
    id?: string;
    /**
     * The name of the Organization this resource belongs to. Immutable after creation.
     * @type {string}
     * @memberof SynonymSet
     */
    organizationName?: string;
    /**
     * The resource name. Must start with a letter and contain only letters, digits, and underscores. Unique within the organization and immutable after creation. Used as part of the qualified name ({organizationName}-{name}) when referenced by other resources.
     * @type {string}
     * @memberof SynonymSet
     */
    name?: string;
    /**
     * Optional description of the synonym set.
     * @type {string}
     * @memberof SynonymSet
     */
    description?: string;
    /**
     * <p>Required. The full OpenSearch token filter definition as a JSON object, exactly as documented for the <a href='https://docs.opensearch.org/latest/analyzers/token-filters/synonym-graph/'>synonym_graph</a> / <a href='https://docs.opensearch.org/latest/analyzers/token-filters/synonym/'>synonym</a> token filters. Synapse parses this to confirm it's valid JSON and otherwise passes it through to AOSS verbatim. AOSS Serverless does not support file-based parameters &mdash; use inline <code>synonyms</code>; AOSS rejects <code>synonyms_path</code> at index-build time.</p>
     * @type {any}
     * @memberof SynonymSet
     */
    definition: any | null;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme.
     * @type {string}
     * @memberof SynonymSet
     */
    etag?: string;
    /**
     * The date this resource was created.
     * @type {string}
     * @memberof SynonymSet
     */
    createdOn?: string;
    /**
     * The ID of the user that created this resource.
     * @type {string}
     * @memberof SynonymSet
     */
    createdBy?: string;
    /**
     * The date this resource was last modified.
     * @type {string}
     * @memberof SynonymSet
     */
    modifiedOn?: string;
    /**
     * The ID of the user that last modified this resource.
     * @type {string}
     * @memberof SynonymSet
     */
    modifiedBy?: string;
}
/**
 * Check if a given object implements the SynonymSet interface.
 */
export declare function instanceOfSynonymSet(value: object): value is SynonymSet;
export declare function SynonymSetFromJSON(json: any): SynonymSet;
export declare function SynonymSetFromJSONTyped(json: any, ignoreDiscriminator: boolean): SynonymSet;
export declare function SynonymSetToJSON(json: any): SynonymSet;
export declare function SynonymSetToJSONTyped(value?: SynonymSet | null, ignoreDiscriminator?: boolean): any;
