import type { EntitySchema, OrmRequest, OrmResponse } from '@mostajs/orm'; import type { ITransport, TransportConfig, TransportInfo, TransportMiddleware, TransportContext } from '../core/types.js'; type OrmHandler = (req: OrmRequest, ctx: TransportContext) => Promise; export declare class NatsTransport implements ITransport { readonly name = "nats"; private config; private schemas; private middlewares; private ormHandler; private natsConnection; private subscriptions; private stats; setHandler(handler: OrmHandler): void; use(mw: TransportMiddleware): void; registerEntity(schema: EntitySchema): void; /** * Start NATS transport. * Connects to NATS server and subscribes to request-reply subjects. * Subject pattern: mostajs.{entity}.{operation} */ start(config: TransportConfig): Promise; private handleMessage; /** * Publish an event to NATS (for use by EntityService change events). */ publish(subject: string, data: any): Promise; /** * List all NATS subjects this transport subscribes to. */ listSubjects(): string[]; /** * Handle HTTP request for NATS info/proxy (when NATS server isn't available). */ handleHttpProxy(op: string, entity: string, body: any): Promise; stop(): Promise; getInfo(): TransportInfo; isConnected(): boolean; getSubjects(): string[]; } /** Factory */ export declare function createTransport(): ITransport; export {};