import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import * as operations from "../models/operations/index.js"; import { NovuSubscribers } from "./novusubscribers.js"; import { Subscriptions } from "./subscriptions.js"; export declare class Topics extends ClientSDK { private _subscriptions?; get subscriptions(): Subscriptions; private _subscribers?; get subscribers(): NovuSubscribers; /** * List all topics * * @remarks * This api returns a paginated list of topics. * Topics can be filtered by **key**, **name**, or **includeCursor** to paginate through the list. * Checkout all available filters in the query section. */ list(request: operations.TopicsControllerListTopicsRequest, options?: RequestOptions): Promise; /** * Create a topic * * @remarks * Creates a new topic if it does not exist, or updates an existing topic if it already exists. Use ?failIfExists=true to prevent updates. */ create(createUpdateTopicRequestDto: components.CreateUpdateTopicRequestDto, failIfExists?: boolean | undefined, idempotencyKey?: string | undefined, options?: RequestOptions): Promise; /** * Retrieve a topic * * @remarks * Retrieve a topic by its unique key identifier **topicKey** */ get(topicKey: string, idempotencyKey?: string | undefined, options?: RequestOptions): Promise; /** * Update a topic * * @remarks * Update a topic name by its unique key identifier **topicKey** */ update(updateTopicRequestDto: components.UpdateTopicRequestDto, topicKey: string, idempotencyKey?: string | undefined, options?: RequestOptions): Promise; /** * Delete a topic * * @remarks * Delete a topic by its unique key identifier **topicKey**. * This action is irreversible and will remove all subscriptions to the topic. */ delete(topicKey: string, idempotencyKey?: string | undefined, options?: RequestOptions): Promise; } //# sourceMappingURL=topics.d.ts.map