import type { BaseOptions } from "../types";
import { CustomStreamMetadata, StreamMetadata } from "./utils/streamMetadata";
export interface GetStreamMetadataResult<CustomMetadata extends CustomStreamMetadata = CustomStreamMetadata> {
    /**
     * The name of the stream.
     */
    streamName: string;
    /**
     * A containing user-specified metadata.
     */
    metadata?: StreamMetadata<CustomMetadata>;
    /**
     * A the version of the metadata.
     */
    metastreamRevision?: bigint;
}
export type GetStreamMetadataOptions = BaseOptions;
declare module "../Client" {
    interface Client {
        /**
         * Reads the metadata for a stream.
         * @param streamName - A stream name.
         * @param options - Read options.
         */
        getStreamMetadata<CustomMetadata extends CustomStreamMetadata = CustomStreamMetadata>(streamName: string, options?: GetStreamMetadataOptions): Promise<GetStreamMetadataResult<CustomMetadata>>;
    }
}
