import { MessagingNamespaceList } from '../model/namespaceList';
import { MessagingNamespacePolicies } from '../model/namespacePolicies';
import { MessagingNamespace } from '../model/namespace';
import { FetchClient, Service } from '@c8y/client';
import { MessagingNamespaceDetails } from '../model/namespaceDetails';
import * as i0 from "@angular/core";
export declare class MessagingNamespacesService extends Service<any> {
    protected baseUrl: string;
    protected listUrl: string;
    private alertService;
    constructor(client: FetchClient);
    /**
     * Get namespace list for a tenant
     *
     * @param tenant Tenant id
     * @return Namespaces list
     */
    getNamespaces(tenant: string): Promise<MessagingNamespaceList>;
    /**
     * Get namespace.
     *
     * @param tenant Tenant ID.
     * @param namespace Name of namespace.
     * @return Namespace.
     */
    getNamespace(tenant: string, namespace: string): Promise<MessagingNamespace>;
    /**
     * Get namespace policies
     *
     * @param tenant Tenant id
     * @param namespace Name of namespace
     * @return Namespaces policies
     */
    getNamespacePolicies(tenant: string, namespace: string): Promise<MessagingNamespacePolicies>;
    /**
     * Get single namespace details
     * @param tenant Tenant ID
     * @param namespaceName Namespace name
     * @return Namespace with details
     */
    getNamespaceDetails(tenant: string, namespaceName: string): Promise<MessagingNamespaceDetails>;
    /**
     * Get namespaces with details
     *
     * @param tenant Tenant ID
     * @return Namespaces with details
     */
    getNamespacesDetails(tenant: string): Promise<MessagingNamespaceDetails[]>;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessagingNamespacesService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MessagingNamespacesService>;
}
//# sourceMappingURL=messaging-namespaces.service.d.ts.map