/**
 * @packageDocumentation
 * @module common-layout
 */
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { KubernetesResource, K8sUtilService } from '../../../../core/public-api';
import { NamespaceIdentity } from '../context.service';
import { BaseSelection } from '../project-select/base-selection';
import { CommonLayoutStoreService, Group } from '../store.service';
import * as i0 from "@angular/core";
export declare class NamespaceSelectComponent extends BaseSelection {
    private readonly store;
    private readonly k8sUtil;
    private readonly projectName$$;
    set projectName(projectName: string);
    selected?: NamespaceIdentity;
    selectedChange: EventEmitter<NamespaceIdentity>;
    availableGroups$: import("rxjs").Observable<[KubernetesResource, KubernetesResource[]][]>;
    hasNamespace$: import("rxjs").Observable<boolean>;
    groups$: import("rxjs").Observable<{
        cluster: KubernetesResource;
        namespaces: KubernetesResource[];
    }[]>;
    constructor(store: CommonLayoutStoreService, k8sUtil: K8sUtilService, cdr: ChangeDetectorRef);
    name: (item: KubernetesResource) => string;
    isActive: (item: KubernetesResource, selected: NamespaceIdentity, { group: { cluster }, groups, i, j, focusedMenuItemIndex, }: {
        group: {
            cluster: KubernetesResource;
        };
        groups: Array<{
            namespaces: unknown[];
        }>;
        i: number;
        j: number;
        focusedMenuItemIndex: number;
    }) => boolean;
    trackFn: (_: number, item: KubernetesResource) => string;
    groupTrackFn: (_: number, { cluster, }: {
        cluster: KubernetesResource;
        namespaces: KubernetesResource[];
    }) => string;
    hasResult(groups: Group[]): boolean;
    onSelect({ cluster }: {
        cluster: KubernetesResource;
    }, namespace: KubernetesResource): void;
    selectByIndex(index: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NamespaceSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NamespaceSelectComponent, "acl-namespace-select", never, { "projectName": { "alias": "projectName"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, false, never>;
}
