import { AfterViewInit, Injector, OnDestroy, ProviderToken } from '@angular/core'; import { NgControl } from '@angular/forms'; import { MatAutocomplete } from '@angular/material/autocomplete'; import { MatFormField } from '@angular/material/form-field'; import { OpenApiRemoteMethodParameter } from '@rxap/open-api/remote-method'; import { Method, MethodWithParameters } from '@rxap/pattern'; import { ControlOption, ControlOptions } from '@rxap/utilities'; import { Observable } from 'rxjs'; import { ExtractIsValueFunctionMixin } from '../mixins/extract-is-value-function.mixin'; import { UseMethodConfig } from '../mixins/extract-methods.mixin'; import { ExtractResolveMethodMixin } from '../mixins/extract-resolve-method.mixin'; import { ExtractToDisplayFunctionMixin } from '../mixins/extract-to-display-function.mixin'; import { OptionsFromMethodDirective, OptionsFromMethodDirectiveSettings } from './options-from-method.directive'; import * as i0 from "@angular/core"; export declare function UseAutocompleteOptionsMethod(method: ProviderToken>): any; export declare function UseAutocompleteOptionsMethod(method: ProviderToken>>): any; export declare function UseAutocompleteOptionsMethod(method: ProviderToken, config: UseMethodConfig): any; export declare function UseAutocompleteResolveMethod(method: ProviderToken, OpenApiRemoteMethodParameter<{ value: string; }>>>, config?: UseMethodConfig): any; export declare function UseAutocompleteIsValueFunction(isValue: (value: any) => boolean): any; export declare function UseAutocompleteToDisplayFunction(toDisplay: (value: any) => string): any; export interface AutocompleteOptionsFromRemoteMethodTemplateContext { $implicit: ControlOption; } export interface AutocompleteOptionsFromMethodDirectiveSettings extends OptionsFromMethodDirectiveSettings { filteredOptions?: boolean; } export interface AutocompleteOptionsFromMethodDirectiveParameters { search?: Value | null; } export interface AutocompleteOptionsFromMethodDirective = AutocompleteOptionsFromMethodDirectiveParameters> extends ExtractResolveMethodMixin, ExtractIsValueFunctionMixin, ExtractToDisplayFunctionMixin, AfterViewInit, OnDestroy { } export declare class NoopResolveMethod implements Method { call({ value }: { value: Value; }): Promise; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } export declare class AutocompleteOptionsFromMethodDirective = AutocompleteOptionsFromMethodDirectiveParameters> extends OptionsFromMethodDirective implements AfterViewInit, OnDestroy { static ngTemplateContextGuard(dir: OptionsFromMethodDirective, ctx: any): ctx is AutocompleteOptionsFromRemoteMethodTemplateContext; parameters?: Parameters; resetOnChange?: Value; matAutocomplete?: MatAutocomplete; method: Method; resolveMethod?: MethodWithParameters; isValue?: (value: any) => boolean; toDisplay?: (value: any) => string; protected ngControl: NgControl | null; protected matFormField: MatFormField | null; protected injector: Injector; protected settings: AutocompleteOptionsFromMethodDirectiveSettings; /** * This flag is used to prevent the setValue is called for each refresh * of the options list. This is needed because the setValue method will * trigger a new refresh of the options list. This results in an endless * call stack. This flag is set to true if the setValue method is called * once. */ private isAutocompleteToDisplayTriggered; private _subscription?; ngOnDestroy(): void; ngAfterViewInit(): Promise; protected loadOptions(parameters?: Parameters): Promise>; protected renderTemplate(): void; protected resolveValue(value: Value, parameters?: Parameters): Promise; private triggerAutocompleteToDisplay; private findOptionByValue; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[rxapAutocompleteOptionsFromMethod]", never, { "parameters": { "alias": "rxapAutocompleteOptionsFromMethodParameters"; "required": false; }; "resetOnChange": { "alias": "rxapAutocompleteOptionsFromMethodResetOnChange"; "required": false; }; "matAutocomplete": { "alias": "rxapAutocompleteOptionsFromMethodMatAutocomplete"; "required": false; }; "method": { "alias": "rxapAutocompleteOptionsFromMethodCall"; "required": false; }; "resolveMethod": { "alias": "rxapAutocompleteOptionsFromMethodResolve"; "required": false; }; "isValue": { "alias": "rxapAutocompleteOptionsFromMethodIsValue"; "required": false; }; "toDisplay": { "alias": "rxapAutocompleteOptionsFromMethodToDisplay"; "required": false; }; }, {}, never, never, true, never>; }