import { DocumentType } from '@aws-amplify/core/internals/utils'; import type { EventsChannel, EventsOptions, PublishedEvent } from './types'; /** * @experimental API may change in future versions * * Establish a WebSocket connection to an Events channel * * @example * const channel = await events.connect("default/channel") * * channel.subscribe({ * next: (data) => { console.log(data) }, * error: (err) => { console.error(err) }, * }) * * @example // authMode override * const channel = await events.connect("default/channel", { authMode: "userPool" }) * * @param channel - channel path; `/` * @param options - request overrides: `authMode`, `authToken` * */ declare function connect(channel: string, options?: EventsOptions): Promise; /** * @experimental API may change in future versions * * Publish events to a channel via HTTP request * * @example * await events.post("default/channel", { some: "event" }) * * @example // event batching * await events.post("default/channel", [{ some: "event" }, { some: "event2" }]) * * @example // authMode override * await events.post("default/channel", { some: "event" }, { authMode: "userPool" }) * * @param channel - channel path; `/` * @param event - JSON-serializable value or an array of values * @param options - request overrides: `authMode`, `authToken` * * @returns void on success * @throws on error */ declare function post(channel: string, event: DocumentType | DocumentType[], options?: EventsOptions): Promise; /** * @experimental API may change in future versions * * Close WebSocket connection, disconnect listeners and reconnect observers * * @example * await events.closeAll() * * @returns void on success * @throws on error */ declare function closeAll(): Promise; export { connect, post, closeAll };