import { type Namespaces } from '../../types/namespace/namespaces.js';
import { type Containers } from './resources/container/containers.js';
import { type Clusters } from './resources/cluster/clusters.js';
import { type ConfigMaps } from './resources/config-map/config-maps.js';
import { type Contexts } from './resources/context/contexts.js';
import { type Pvcs } from './resources/pvc/pvcs.js';
import { type Services } from './resources/service/services.js';
import { type Pods } from './resources/pod/pods.js';
import { type Leases } from './resources/lease/leases.js';
import { type IngressClasses } from './resources/ingress-class/ingress-classes.js';
import { type Secrets } from './resources/secret/secrets.js';
import { type Ingresses } from './resources/ingress/ingresses.js';
import { type Crds } from './resources/crd/crds.js';
import { type Manifests } from './resources/manifest/manifests.js';
import { type Rbacs } from './resources/rbac/rbacs.js';
export interface K8 {
    /**
     * Fluent accessor for reading and manipulating namespaces.
     * @returns an object instance providing namespace operations
     */
    namespaces(): Namespaces;
    /**
     * Fluent accessor for reading and manipulating containers.
     * returns an object instance providing container operations
     */
    containers(): Containers;
    /**
     * Fluent accessor for reading and manipulating cluster information from the kubeconfig file.
     * @returns an object instance providing cluster operations
     */
    clusters(): Clusters;
    /**
     * Fluent accessor for reading and manipulating config maps.
     * @returns an object instance providing config map operations
     */
    configMaps(): ConfigMaps;
    /**
     * Fluent accessor for reading and manipulating contexts in the kubeconfig file.
     * @returns an object instance providing context operations
     */
    contexts(): Contexts;
    /**
     * Fluent accessor for reading and manipulating services.
     * @returns an object instance providing service operations
     */
    services(): Services;
    /**
     * Fluent accessor for reading and manipulating pods in the kubernetes cluster.
     * @returns an object instance providing pod operations
     */
    pods(): Pods;
    /**
     * Fluent accessor for reading and manipulating pvcs (persistent volume claims) in the kubernetes cluster.
     * @returns an object instance providing pvc (persistent volume claim) operations
     */
    pvcs(): Pvcs;
    /**
     * Fluent accessor for reading and manipulating leases in the kubernetes cluster.
     * @returns an object instance providing lease operations
     */
    leases(): Leases;
    /**
     * Fluent accessor for reading and manipulating secrets in the kubernetes cluster.
     * @returns an object instance providing secret operations
     */
    secrets(): Secrets;
    /**
     * Fluent accessor for reading and manipulating ingress classes in the kubernetes cluster.
     * @returns an object instance providing ingress class operations
     */
    ingressClasses(): IngressClasses;
    /**
     * Fluent accessor for reading and manipulating ingresses in the kubernetes cluster.
     * @returns an object instance providing ingress operations
     */
    ingresses(): Ingresses;
    /**
     * Fluent accessor for reading and manipulating custom resource definitions in the kubernetes cluster.
     * @returns an object instance providing crd operations
     */
    crds(): Crds;
    /**
     * Fluent accessor for RBAC operations in the kubernetes cluster.
     * @returns an object instance providing rbac operations
     */
    rbac(): Rbacs;
    /**
     * Fluent accessor for manifest operations.
     * @returns an object instance providing manifest operations
     */
    manifests(): Manifests;
    /**
     * Get the file path to the kubectl executable being used by this K8 client instance.
     * @returns the file path to the kubectl executable
     */
    getKubectlExecutablePath(): string;
}
