import type { LTEvent } from '../types'; import type { LTApiResult } from '../types/sdk'; export declare function listTopics(input: { category?: string; search?: string; limit?: number; offset?: number; }): Promise; export declare function getTopic(input: { topic: string; }): Promise; export declare function createTopic(input: { topic: string; category: string; [key: string]: any; }): Promise; export declare function updateTopic(input: { topic: string; [key: string]: any; }): Promise; export declare function deleteTopic(input: { topic: string; }): Promise; /** * Validate that a subject is a valid variant of a topic pattern. * Each `*` in the pattern matches exactly one literal segment in the subject. * Each `>` in the pattern matches one or more trailing segments. * Literal segments must match exactly. */ export declare function isValidVariant(pattern: string, subject: string): boolean; /** * A publishable event envelope. The request body IS the event: any `LTEvent` * field the caller wants to set (`id`, `source`, `data`, and — for system * families — `workflowId` / `workflowName` / `taskQueue` / `status` / etc.), * minus the server-managed ones (`type` is derived from the subject, `timestamp` * is stamped). `subject` is an optional concrete variant of a wildcard topic. * * One typed object, infinitely extensible — no per-field API parameters. */ export type PublishEventInput = Partial> & { subject?: string; }; export declare function publishTopic(input: { topic: string; event?: PublishEventInput; }): Promise;