/**
 * @packageDocumentation
 * @module common-layout
 */
import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { KubernetesResource } from '../../types/k8s';
import { K8sUtilService } from '../../utils/k8s-util.service';
import { NamespaceIdentity } from '../context.service';
import { BaseSelection } from '../project-select/base-selection';
import { CommonLayoutStoreService, Group } from '../store.service';
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;
    isActived: (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;
}
