///
import type { ReadableOptions } from "stream";
import type { ReadRevision, StreamSubscription, BaseOptions, EventType } from "../types";
export interface SubscribeToStreamOptions extends BaseOptions {
/**
* Starts the read at the given event revision.
* @defaultValue START
*/
fromRevision?: ReadRevision;
/**
* The best way to explain link resolution is when using system projections. When reading the stream `$streams` (which
* contains all streams), each event is actually a link pointing to the first event of a stream. By enabling link
* resolution feature, the server will also return the event targeted by the link.
* @defaultValue false
*/
resolveLinkTos?: boolean;
}
declare module "../Client" {
interface Client {
/**
* Subscribe to events on the given stream.
* @param streamName - A stream name.
* @param options - Subscription options.
* @param readableOptions - Readable stream options.
*/
subscribeToStream(streamName: string, options?: SubscribeToStreamOptions, readableOptions?: ReadableOptions): StreamSubscription;
}
}