/**
 * OpenThesaurus Node - Version 1
 * Get synonmns for German words using the OpenThesaurus API
 */


export interface OpenThesaurusV1Params {
  operation?: 'getSynonyms';
/**
 * The word to get synonyms for
 * @displayOptions.show { operation: ["getSynonyms"] }
 */
    text?: string | Expression<string> | PlaceholderValue;
/**
 * Options
 * @displayOptions.show { operation: ["getSynonyms"] }
 * @default {}
 */
    options?: {
    /** Specifies the basic form for the search term if it is not already a basic form
     * @default false
     */
    baseform?: boolean | Expression<boolean>;
    /** This also returns up to five similarly written words for each answer. This is useful to be able to make a suggestion to the user in the event of a possible typing error.
     * @default false
     */
    similar?: boolean | Expression<boolean>;
    /** Like substring = true, but only finds words that begin with the specified search term
     * @default false
     */
    startswith?: boolean | Expression<boolean>;
    /** Whether up to ten words are returned for each answer that only contain the search term as a partial word
     * @default false
     */
    substring?: boolean | Expression<boolean>;
    /** Specifies from which entry the partial word hits are to be returned. Only works together with substring = true.
     * @default 0
     */
    substringFromResults?: number | Expression<number>;
    /** Specifies how many partial word hits should be returned in total. Only works together with substring = true.
     * @default 10
     */
    substringMaxResults?: number | Expression<number>;
    /** Whether each synonym group has its (optional) sub-terms supplied
     * @default false
     */
    subsynsets?: boolean | Expression<boolean>;
    /** Whether each synonym group is supplied with its (optional) generic terms
     * @default false
     */
    supersynsets?: boolean | Expression<boolean>;
  };
}

interface OpenThesaurusV1NodeBase {
  type: 'n8n-nodes-base.openThesaurus';
  version: 1;
}

export type OpenThesaurusV1ParamsNode = OpenThesaurusV1NodeBase & {
  config: NodeConfig<OpenThesaurusV1Params>;
};

export type OpenThesaurusV1Node = OpenThesaurusV1ParamsNode;