import Long from "long"; import _m0 from "protobufjs/minimal"; import { Any } from "../protobuf/any"; export declare const protobufPackage = "google.api"; /** * Message that represents an arbitrary HTTP body. It should only be used for * payload formats that can't be represented as JSON, such as raw binary or * an HTML page. * * This message can be used both in streaming and non-streaming API methods in * the request as well as the response. * * It can be used as a top-level request field, which is convenient if one * wants to extract parameters from either the URL or HTTP template into the * request fields and also want access to the raw HTTP body. * * Example: * * message GetResourceRequest { * // A unique request id. * string request_id = 1; * * // The raw HTTP body is bound to this field. * google.api.HttpBody http_body = 2; * } * * service ResourceService { * rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); * rpc UpdateResource(google.api.HttpBody) returns * (google.protobuf.Empty); * } * * Example with streaming methods: * * service CaldavService { * rpc GetCalendar(stream google.api.HttpBody) * returns (stream google.api.HttpBody); * rpc UpdateCalendar(stream google.api.HttpBody) * returns (stream google.api.HttpBody); * } * * Use of this type only changes how the request and response bodies are * handled, all other features will continue to work unchanged. */ export interface HttpBody { /** The HTTP Content-Type header value specifying the content type of the body. */ contentType: string; /** The HTTP request/response body as raw binary. */ data: Uint8Array; /** * Application specific response metadata. Must be set in the first response * for streaming APIs. */ extensions: Any[]; } export declare const HttpBody: { encode(message: HttpBody, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): HttpBody; fromJSON(object: any): HttpBody; toJSON(message: HttpBody): unknown; create]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(base?: I | undefined): HttpBody; fromPartial]: never; })[] & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; }>(object: I_1): HttpBody; }; declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export {};