/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
/**
 * Configures the `kendoDropDownFilter` directive.
 *
 * For more information, refer to the articles on using the built-in
 * `kendoDropDownFilter` directive with each DropDowns component:
 * * [AutoComplete](https://www.telerik.com/kendo-angular-ui/components/dropdowns/autocomplete/filtering#automatic-filtering)
 * * [ComboBox](https://www.telerik.com/kendo-angular-ui/components/dropdowns/combobox/filtering#automatic-filtering)
 * * [MultiColumnComboBox](https://www.telerik.com/kendo-angular-ui/components/dropdowns/multicolumncombobox/filtering#automatic-filtering)
 * * [DropDownList](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/filtering#automatic-filtering)
 * * [MultiSelect](https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselect/filtering#automatic-filtering)
 *
 * @example
 * ```ts
 * _@Component({
 * selector: 'my-app',
 * template: `
 *  <kendo-autocomplete
 *      [data]="data"
 *      [kendoDropDownFilter]="filterSettings">
 *  </kendo-autocomplete>
 * `
 * })
 * class AppComponent {
 *     public data: Array<string> = ["Item 1", "Item 2", "Item 3", "Item 4"];
 *     public filterSettings: DropDownFilterSettings = {
 *         caseSensitive: false,
 *         operator: 'contains'
 *     };
 * }
 * ```
 */
export interface DropDownFilterSettings {
    /**
     * Determines whether the performed search will be case-sensitive or case-insensitive.
     * By default, the performed search is case-insensitive.
     */
    caseSensitive?: boolean;
    /**
     * Determines the operator for the search.
     *
     * The available options are:
     * * (Default) `startsWith`
     * * `contains`
     */
    operator?: 'startsWith' | 'contains';
    /**
     * Determines by which object fields should the filtering be performed against (when using object data).
     * By default, the filtering will be performed against the specified component `textField`.
     */
    fields?: string[];
}
