import type { BaseOptions, AppendResult, AppendStreamState } from "../types";
import { StreamMetadata } from "./utils/streamMetadata";
export interface SetStreamMetadataOptions extends BaseOptions {
    /**
     * Asks the server to check the stream is at specific revision before writing events.
     * @defaultValue ANY
     */
    expectedRevision?: AppendStreamState;
}
declare module "../Client" {
    interface Client {
        /**
         * Sets metadata for steam.
         * @param streamName - A stream name.
         * @param metadata - Metadata to write.
         * @param options - Writing options.
         */
        setStreamMetadata<MetadataType extends StreamMetadata = StreamMetadata>(streamName: string, metadata: StreamMetadata<MetadataType>, options?: SetStreamMetadataOptions): Promise<AppendResult>;
    }
}
