import type { IUser, IWorkspace } from "../entities";
import type { IQueryFilter, IQueryOptions, KubeNamespace } from "../interfaces";
import type { MonitoringCreateOptions, MonitoringNamespaceQueryFilter, MonitoringQueryOptions } from "../interfaces/MonitoringQuery";
import type { Ownership } from "../interfaces/SystemTypes";
export type MonitorNamespaceCreateData = {
    /**
     * Namespace's name
     */
    name: string;
    /**
     * Cluster's ID or SLUG
     */
    cluster?: string;
    /**
     * Filter by labels
     */
    labels?: Record<string, string>;
};
export declare class MonitorNamespaceService {
    /**
     * Current login user
     */
    user?: IUser;
    /**
     * Current active workspace
     */
    workspace?: IWorkspace;
    /**
     * Current owner & workspace
     */
    ownership?: Ownership;
    constructor(ownership?: Ownership);
    create(data: MonitorNamespaceCreateData, options?: MonitoringCreateOptions): Promise<{
        name: string;
    }>;
    find(filter: MonitoringNamespaceQueryFilter, options?: MonitoringQueryOptions): Promise<KubeNamespace[]>;
    findOne(filter: MonitoringNamespaceQueryFilter, options?: MonitoringQueryOptions): Promise<KubeNamespace>;
    update(filter: IQueryFilter<any>, data: any, options?: IQueryOptions): Promise<KubeNamespace[]>;
    allResources(filter: MonitoringNamespaceQueryFilter, options?: MonitoringQueryOptions): Promise<{
        ingresses: import("../interfaces").KubeIngress[];
        services: import("../interfaces").KubeService[];
        deployments: import("../interfaces").KubeDeployment[];
        statefulSets: import("../interfaces").KubeStatefulSet[];
        pods: import("../interfaces/KubePod").KubePod[];
        secrets: import("../interfaces").KubeSecret[];
    }>;
    delete(params: MonitoringNamespaceQueryFilter): Promise<{
        namespace: string;
    }>;
}
//# sourceMappingURL=MonitorNamespaceService.d.ts.map