/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { AfterViewChecked, ElementRef, OnInit } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { FileSizeUnit } from './file-size-unit.enum';
import { ReplaySubject, Subject } from 'rxjs';
import { SearchWidgetSettings } from '../../models/search-widget-settings.interface';
import { SearchQueryBuilderService } from '../../services/search-query-builder.service';
import { SearchProperties } from './search-properties';
import { TranslateService } from '@ngx-translate/core';
import { SearchWidget } from '../../models/search-widget.interface';
import { AutocompleteOption } from '../../models/autocomplete-option.interface';
import * as i0 from "@angular/core";
export declare class SearchPropertiesComponent implements OnInit, AfterViewChecked, SearchWidget {
    private formBuilder;
    private translateService;
    id: string;
    settings?: SearchWidgetSettings;
    context?: SearchQueryBuilderService;
    startValue: SearchProperties;
    displayValue$: ReplaySubject<string>;
    autocompleteOptions: AutocompleteOption[];
    preselectedOptions: AutocompleteOption[];
    private _form;
    private _fileSizeOperators;
    private _fileSizeUnits;
    private canvas;
    private _fileSizeOperatorsMaxWidth;
    private _selectedExtensions;
    private _reset$;
    private sizeField;
    private nameField;
    fileSizeOperatorSelectElement: ElementRef;
    get form(): SearchPropertiesComponent['_form'];
    get fileSizeOperators(): string[];
    get fileSizeUnits(): FileSizeUnit[];
    get fileSizeOperatorsMaxWidth(): number;
    get reset$(): Subject<void>;
    get selectedExtensions(): AutocompleteOption[];
    set selectedExtensions(extensions: AutocompleteOption[]);
    private readonly destroyRef;
    constructor(formBuilder: FormBuilder, translateService: TranslateService);
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    narrowDownAllowedCharacters(event: Event): void;
    clearNumberFieldWhenInvalid(event: FocusEvent): void;
    preventIncorrectNumberCharacters(event: KeyboardEvent): boolean;
    compareFileExtensions(extension1: AutocompleteOption, extension2: AutocompleteOption): boolean;
    getExtensionWithoutDot(extension: string): string;
    filterExtensions: (extensions: AutocompleteOption[], filterValue: string) => AutocompleteOption[];
    reset(updateContext?: boolean): void;
    submitValues(updateContext?: boolean): void;
    hasValidValue(): boolean;
    getCurrentValue(): SearchProperties;
    setValue(searchProperties: SearchProperties): void;
    private updateSettingsAndContext;
    private parseToAutocompleteOptions;
    private parseFromAutocompleteOptions;
    private getOperatorNameWidth;
    private getCssStyle;
    private getCanvasFont;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchPropertiesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchPropertiesComponent, "adf-search-properties", never, {}, {}, never, never, true, never>;
}
