import { TopicEvent, Filter } from '../api/index.js'; import 'apprt-core/Types'; /** * Called by the constructor to validate the topic name. * * @param topic The topic name to validate. * @throws IllegalArgumentException If the topic name is invalid. */ declare function validateTopicName(topic: string): void; /** * An event. * * `Event` objects are delivered to `EventHandler` * services which subscribe to the topic of the event. */ declare class TopicEventImpl implements TopicEvent { #private; static validateTopicName: typeof validateTopicName; constructor(topic: string, properties?: Record); /** * Retrieves a property. * * @param name the name of the property to retrieve * @returns The value of the property, or `null` if not found. */ getProperty(name: string): T | undefined; /** * Gets all properties as copy. * * @returns all properties as plain object. */ getProperties(): Record; /** * Returns a list of this event's property names. * * @returns A non-empty array with one element per property. */ getPropertyNames(): string[]; /** * Returns the topic of this event. * * @returns The topic of this event. */ getTopic(): string; /** * Returns the reason of the topic (last part). */ getTopicReason(): string; /** * Tests this event's properties against the given filter using a case * sensitive match. * * @param filter The filter to test. * @returns true If this event's properties match the filter, false * otherwise. */ matches(filter: string | Pick): boolean; /** * @returns The string representation of this event. */ toString(): string; } export { TopicEventImpl as default };