import { OnChanges, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ApplicationService, IApplicationVersion, IResultList } from '@c8y/client';
import { PluginsService } from '@c8y/ngx-components';
import { BehaviorSubject, Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class PackageVersionSelectComponent implements OnChanges, ControlValueAccessor {
    private applicationService;
    private pluginsService;
    label: "Use plugin version";
    packageContextPath: string;
    packageId: string | number;
    selectedVersion: IApplicationVersion;
    onInput$: BehaviorSubject<string>;
    versions$: Observable<IResultList<IApplicationVersion>>;
    isDisabled: boolean;
    private packageContextPath$;
    private packageId$;
    private onChange;
    private onTouched;
    constructor(applicationService: ApplicationService, pluginsService: PluginsService);
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    ngOnChanges(changes: SimpleChanges): void;
    getPackageVersions(packageId: string | number): Promise<IResultList<IApplicationVersion>>;
    onVersionSelect(version: IApplicationVersion): void;
    private getPackageIdForContextPath;
    private setInitialValueForInput;
    private filterAppVersions;
    private applyFilterToResultList;
    static ɵfac: i0.ɵɵFactoryDeclaration<PackageVersionSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PackageVersionSelectComponent, "c8y-package-version-select", never, { "label": { "alias": "label"; "required": false; }; "packageContextPath": { "alias": "packageContextPath"; "required": false; }; "packageId": { "alias": "packageId"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=package-version-select.component.d.ts.map