import { SelectFilterOption, TabChangeEvent } from '@alauda/ui';
import { AfterViewInit, ElementRef, Renderer2 } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { Observable, Subject } from 'rxjs';
import { ImageRepositoryOption, ImageSelectorDataContext } from '../../data-context';
import { ImageIntl } from '../../image.intl';
/**
 * @packageDocumentation
 * @module business
 */
export interface SelectedImageRepository {
    value: string;
    isChange: boolean;
}
export declare class ImagePullSelectComponent implements AfterViewInit {
    intl: ImageIntl;
    private readonly el;
    private readonly renderer2;
    private readonly _tabGroup;
    private readonly _selectElementRef;
    _form: FormGroup;
    private readonly form$$;
    get form(): FormGroup;
    set form(form: FormGroup);
    private _context;
    private readonly context$$;
    get context(): ImageSelectorDataContext;
    set context(context: ImageSelectorDataContext);
    registryChange$$: Subject<TabChangeEvent>;
    selectedRegistry$: Observable<string>;
    imageRegistries$: Observable<string[]>;
    imageRepositories$: Observable<import("../../../../utils/with-load-state").WithLoadState<ImageRepositoryOption[], unknown>>;
    private readonly selectedImageRepository$;
    tags$: Observable<{
        loading: boolean;
        data: any[];
    }>;
    activeTab: number;
    constructor(intl: ImageIntl, el: ElementRef, renderer2: Renderer2);
    ngAfterViewInit(): void;
    getImage: (name: string) => string;
    repositoryTracker(repository: ImageRepositoryOption): string;
    filterFn(filter: string, { value }: SelectFilterOption<ImageRepositoryOption>): boolean;
    onOptionsShow(): void;
    getTabLabel: (name: string) => string;
}
