import { AfterViewInit, DestroyRef, EventEmitter } from '@angular/core';
import { ActionControl, AppStateService, BulkActionControl, Column, DataGridComponent, DataSourceModifier, Pagination, Permissions, ServerSideDataCallback, ServerSideDataResult } from '@c8y/ngx-components';
import { ActivatedRoute } from '@angular/router';
import { MessagingTopicsService } from '../../../api/services/messaging-topics.service';
import { MessagingNamespacesService } from '../../../api/services/messaging-namespaces.service';
import { TranslateService } from '@ngx-translate/core';
import { TopicSubscribersDataGridService } from './topic-subscribers-data-grid.service';
import { BehaviorSubject } from 'rxjs';
import { MessagingSubscriber } from '../../../api/model/subscriber';
import * as i0 from "@angular/core";
export declare class TopicSubscribersViewComponent implements AfterViewInit {
    route: ActivatedRoute;
    appState: AppStateService;
    namespacesService: MessagingNamespacesService;
    topicsService: MessagingTopicsService;
    topicSubscribersDataGridService: TopicSubscribersDataGridService;
    translateService: TranslateService;
    permissions: Permissions;
    destroyRef: DestroyRef;
    loading$: BehaviorSubject<boolean>;
    refresh: EventEmitter<void>;
    tenantId$: import("rxjs").Observable<string>;
    namespaceId$: import("rxjs").Observable<string>;
    namespaceLabel$: import("rxjs").Observable<any>;
    topicId$: import("rxjs").Observable<string>;
    overview$: import("rxjs").Observable<{
        topic: import("../../../api/model/topic").MessagingTopic;
        policies: import("../../../api/model/namespacePolicies").MessagingNamespacePolicies;
    }>;
    topicName$: import("rxjs").Observable<string>;
    tableTitle: "Subscribers";
    loadingItemsLabel: "Loading subscribers...";
    loadMoreItemsLabel: "Load more subscribers";
    noResultsMessage: "No matching subscribers found.";
    noResultsSubtitle: "Refine your search terms or check your spelling.";
    noDataMessage: "No subscribers to display.";
    noDataSubtitle: "Create new subscribers to monitor them here.";
    columns: Column[];
    pagination: Pagination;
    selectable: boolean;
    actionControls: ActionControl[];
    bulkActionControls: BulkActionControl[];
    dataGrid: DataGridComponent;
    serverSideDataCallback: ServerSideDataCallback;
    onDataSourceModifier(dataSourceModifier: DataSourceModifier): Promise<ServerSideDataResult>;
    ngAfterViewInit(): void;
    unsubscribeSubscriber(subscriber: MessagingSubscriber): Promise<void>;
    bulkUnsubscribeSubscribers(subscribersNames: string[]): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TopicSubscribersViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TopicSubscribersViewComponent, "app-topic-subscribers-view", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=topic-subscribers-view.component.d.ts.map