import { ListboxValueChangeEvent } from '@angular/cdk/listbox';
import { CdkMenuTrigger } from '@angular/cdk/menu';
import { HttpClient } from '@angular/common/http';
import { FormControl } from '@angular/forms';
import { ISelectOption, NgmI18nPipe } from '@metad/ocap-angular/core';
import { NgxControlValueAccessor } from 'ngxtension/control-value-accessor';
import * as i0 from "@angular/core";
import * as i1 from "ngxtension/control-value-accessor";
type TSelectOptionValue = string | {
    id: string;
};
/**
 * The value of option is primitive or object with id like `{ id: primitive, ... }`
 */
export declare class NgmRemoteSelectComponent {
    readonly httpClient: HttpClient;
    protected cva: NgxControlValueAccessor<TSelectOptionValue | TSelectOptionValue[]>;
    readonly i18n: NgmI18nPipe;
    readonly url: import("@angular/core").InputSignal<string>;
    readonly params: import("@angular/core").InputSignal<Record<string, unknown>>;
    readonly multiple: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
    readonly placeholder: import("@angular/core").InputSignal<string>;
    readonly restrict: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
    readonly error: import("@angular/core").OutputEmitterRef<string>;
    readonly searchControl: FormControl<any>;
    readonly values: import("@angular/core").Signal<TSelectOptionValue[]>;
    readonly selectOptions: import("@angular/core").Signal<ISelectOption<TSelectOptionValue>[]>;
    readonly searchText: import("@angular/core").Signal<string>;
    readonly filteredSelectOptions: import("@angular/core").Signal<ISelectOption<TSelectOptionValue>[]>;
    readonly selectedOptions: import("@angular/core").Signal<ISelectOption<TSelectOptionValue>[]>;
    readonly notFoundOption: import("@angular/core").Signal<TSelectOptionValue>;
    getSelectOptions(url: string, params: Record<string, unknown>): import("rxjs").Observable<ISelectOption<TSelectOptionValue>[]>;
    selectValues(event: ListboxValueChangeEvent<TSelectOptionValue>): void;
    checkedWith(value: TSelectOptionValue): boolean;
    compareWith(a: TSelectOptionValue, b: TSelectOptionValue): boolean;
    selectOption(trigger: CdkMenuTrigger, value: any): void;
    clear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmRemoteSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmRemoteSelectComponent, "ngm-remote-select", never, { "url": { "alias": "url"; "required": false; "isSignal": true; }; "params": { "alias": "params"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "restrict": { "alias": "restrict"; "required": false; "isSignal": true; }; }, { "error": "error"; }, never, never, true, [{ directive: typeof i1.NgxControlValueAccessor; inputs: {}; outputs: {}; }]>;
}
export {};
