Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc-cloned / node_modules / @grpc / grpc-js / build / src / metadata.d.ts
diff --git a/legacy-libs/grpc-cloned/node_modules/@grpc/grpc-js/build/src/metadata.d.ts b/legacy-libs/grpc-cloned/node_modules/@grpc/grpc-js/build/src/metadata.d.ts
new file mode 100644 (file)
index 0000000..120691b
--- /dev/null
@@ -0,0 +1,69 @@
+/// <reference types="node" />
+import * as http2 from 'http2';
+export declare type MetadataValue = string | Buffer;
+export declare type MetadataObject = Map<string, MetadataValue[]>;
+/**
+ * A class for storing metadata. Keys are normalized to lowercase ASCII.
+ */
+export declare class Metadata {
+    protected internalRepr: MetadataObject;
+    /**
+     * Sets the given value for the given key by replacing any other values
+     * associated with that key. Normalizes the key.
+     * @param key The key to whose value should be set.
+     * @param value The value to set. Must be a buffer if and only
+     *   if the normalized key ends with '-bin'.
+     */
+    set(key: string, value: MetadataValue): void;
+    /**
+     * Adds the given value for the given key by appending to a list of previous
+     * values associated with that key. Normalizes the key.
+     * @param key The key for which a new value should be appended.
+     * @param value The value to add. Must be a buffer if and only
+     *   if the normalized key ends with '-bin'.
+     */
+    add(key: string, value: MetadataValue): void;
+    /**
+     * Removes the given key and any associated values. Normalizes the key.
+     * @param key The key whose values should be removed.
+     */
+    remove(key: string): void;
+    /**
+     * Gets a list of all values associated with the key. Normalizes the key.
+     * @param key The key whose value should be retrieved.
+     * @return A list of values associated with the given key.
+     */
+    get(key: string): MetadataValue[];
+    /**
+     * Gets a plain object mapping each key to the first value associated with it.
+     * This reflects the most common way that people will want to see metadata.
+     * @return A key/value mapping of the metadata.
+     */
+    getMap(): {
+        [key: string]: MetadataValue;
+    };
+    /**
+     * Clones the metadata object.
+     * @return The newly cloned object.
+     */
+    clone(): Metadata;
+    /**
+     * Merges all key-value pairs from a given Metadata object into this one.
+     * If both this object and the given object have values in the same key,
+     * values from the other Metadata object will be appended to this object's
+     * values.
+     * @param other A Metadata object.
+     */
+    merge(other: Metadata): void;
+    /**
+     * Creates an OutgoingHttpHeaders object that can be used with the http2 API.
+     */
+    toHttp2Headers(): http2.OutgoingHttpHeaders;
+    private _getCoreRepresentation;
+    /**
+     * Returns a new Metadata object based fields in a given IncomingHttpHeaders
+     * object.
+     * @param headers An IncomingHttpHeaders object.
+     */
+    static fromHttp2Headers(headers: http2.IncomingHttpHeaders): Metadata;
+}