UNPKG

spiffe

Version:

Node.js SPIFFE Workload API client

694 lines (693 loc) 26 kB
import * as x509 from "@peculiar/x509"; import * as _protobuf_ts_runtime_rpc0 from "@protobuf-ts/runtime-rpc"; import { RpcOptions, RpcTransport, ServerStreamingCall, ServiceInfo, ServiceType, UnaryCall } from "@protobuf-ts/runtime-rpc"; import * as _protobuf_ts_runtime0 from "@protobuf-ts/runtime"; import { BinaryReadOptions, BinaryWriteOptions, IBinaryReader, IBinaryWriter, JsonReadOptions, JsonValue, JsonWriteOptions, MessageType, PartialMessage } from "@protobuf-ts/runtime"; //#region src/proto/google/protobuf/struct.d.ts /** * `Struct` represents a structured data value, consisting of fields * which map to dynamically typed values. In some languages, `Struct` * might be supported by a native representation. For example, in * scripting languages like JS a struct is represented as an * object. The details of that representation are described together * with the proto support for the language. * * The JSON representation for `Struct` is JSON object. * * @generated from protobuf message google.protobuf.Struct */ interface Struct { /** * Unordered map of dynamically typed values. * * @generated from protobuf field: map<string, google.protobuf.Value> fields = 1 */ fields: { [key: string]: Value; }; } /** * `Value` represents a dynamically typed value which can be either * null, a number, a string, a boolean, a recursive struct value, or a * list of values. A producer of value is expected to set one of these * variants. Absence of any variant indicates an error. * * The JSON representation for `Value` is JSON value. * * @generated from protobuf message google.protobuf.Value */ interface Value { /** * The kind of value. * * @generated from protobuf oneof: kind */ kind: { oneofKind: 'nullValue'; /** * Represents a null value. * * @generated from protobuf field: google.protobuf.NullValue null_value = 1 */ nullValue: NullValue; } | { oneofKind: 'numberValue'; /** * Represents a double value. * * @generated from protobuf field: double number_value = 2 */ numberValue: number; } | { oneofKind: 'stringValue'; /** * Represents a string value. * * @generated from protobuf field: string string_value = 3 */ stringValue: string; } | { oneofKind: 'boolValue'; /** * Represents a boolean value. * * @generated from protobuf field: bool bool_value = 4 */ boolValue: boolean; } | { oneofKind: 'structValue'; /** * Represents a structured value. * * @generated from protobuf field: google.protobuf.Struct struct_value = 5 */ structValue: Struct; } | { oneofKind: 'listValue'; /** * Represents a repeated `Value`. * * @generated from protobuf field: google.protobuf.ListValue list_value = 6 */ listValue: ListValue; } | { oneofKind: undefined; }; } /** * `ListValue` is a wrapper around a repeated field of values. * * The JSON representation for `ListValue` is JSON array. * * @generated from protobuf message google.protobuf.ListValue */ interface ListValue { /** * Repeated field of dynamically typed values. * * @generated from protobuf field: repeated google.protobuf.Value values = 1 */ values: Value[]; } /** * `NullValue` is a singleton enumeration to represent the null value for the * `Value` type union. * * The JSON representation for `NullValue` is JSON `null`. * * @generated from protobuf enum google.protobuf.NullValue */ declare enum NullValue { /** * Null value. * * @generated from protobuf enum value: NULL_VALUE = 0; */ NULL_VALUE = 0 } declare class Struct$Type extends MessageType<Struct> { constructor(); /** * Encode `Struct` to JSON object. */ internalJsonWrite(message: Struct, options: JsonWriteOptions): JsonValue; /** * Decode `Struct` from JSON object. */ internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: Struct): Struct; create(value?: PartialMessage<Struct>): Struct; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Struct): Struct; private binaryReadMap1; internalBinaryWrite(message: Struct, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.protobuf.Struct */ declare const Struct: Struct$Type; declare class Value$Type extends MessageType<Value> { constructor(); /** * Encode `Value` to JSON value. */ internalJsonWrite(message: Value, options: JsonWriteOptions): JsonValue; /** * Decode `Value` from JSON value. */ internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: Value): Value; create(value?: PartialMessage<Value>): Value; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Value): Value; internalBinaryWrite(message: Value, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.protobuf.Value */ declare const Value: Value$Type; declare class ListValue$Type extends MessageType<ListValue> { constructor(); /** * Encode `ListValue` to JSON array. */ internalJsonWrite(message: ListValue, options: JsonWriteOptions): JsonValue; /** * Decode `ListValue` from JSON array. */ internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: ListValue): ListValue; create(value?: PartialMessage<ListValue>): ListValue; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListValue): ListValue; internalBinaryWrite(message: ListValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.protobuf.ListValue */ declare const ListValue: ListValue$Type; //#endregion //#region src/proto/spiffe/workload/workload.d.ts /** * The X509SVIDRequest message conveys parameters for requesting an X.509-SVID. * There are currently no request parameters. * * @generated from protobuf message X509SVIDRequest */ interface X509SVIDRequest {} /** * The X509SVIDResponse message carries X.509-SVIDs and related information, * including a set of global CRLs and a list of bundles the workload may use * for federating with foreign trust domains. * * @generated from protobuf message X509SVIDResponse */ interface X509SVIDResponse { /** * Required. A list of X509SVID messages, each of which includes a single * X.509-SVID, its private key, and the bundle for the trust domain. * * @generated from protobuf field: repeated X509SVID svids = 1 */ svids: X509SVID[]; /** * Optional. ASN.1 DER encoded certificate revocation lists. * * @generated from protobuf field: repeated bytes crl = 2 */ crl: Uint8Array[]; /** * Optional. CA certificate bundles belonging to foreign trust domains that * the workload should trust, keyed by the SPIFFE ID of the foreign trust * domain. Bundles are ASN.1 DER encoded. * * @generated from protobuf field: map<string, bytes> federated_bundles = 3 */ federatedBundles: { [key: string]: Uint8Array; }; } /** * The X509SVID message carries a single SVID and all associated information, * including the X.509 bundle for the trust domain. * * @generated from protobuf message X509SVID */ interface X509SVID { /** * Required. The SPIFFE ID of the SVID in this entry * * @generated from protobuf field: string spiffe_id = 1 */ spiffeId: string; /** * Required. ASN.1 DER encoded certificate chain. MAY include * intermediates, the leaf certificate (or SVID itself) MUST come first. * * @generated from protobuf field: bytes x509_svid = 2 */ x509Svid: Uint8Array; /** * Required. ASN.1 DER encoded PKCS#8 private key. MUST be unencrypted. * * @generated from protobuf field: bytes x509_svid_key = 3 */ x509SvidKey: Uint8Array; /** * Required. ASN.1 DER encoded X.509 bundle for the trust domain. * * @generated from protobuf field: bytes bundle = 4 */ bundle: Uint8Array; /** * Optional. An operator-specified string used to provide guidance on how this * identity should be used by a workload when more than one SVID is returned. * For example, `internal` and `external` to indicate an SVID for internal or * external use, respectively. * * @generated from protobuf field: string hint = 5 */ hint: string; } /** * The X509BundlesRequest message conveys parameters for requesting X.509 * bundles. There are currently no such parameters. * * @generated from protobuf message X509BundlesRequest */ interface X509BundlesRequest {} /** * The X509BundlesResponse message carries a set of global CRLs and a map of * trust bundles the workload should trust. * * @generated from protobuf message X509BundlesResponse */ interface X509BundlesResponse { /** * Optional. ASN.1 DER encoded certificate revocation lists. * * @generated from protobuf field: repeated bytes crl = 1 */ crl: Uint8Array[]; /** * Required. CA certificate bundles belonging to trust domains that the * workload should trust, keyed by the SPIFFE ID of the trust domain. * Bundles are ASN.1 DER encoded. * * @generated from protobuf field: map<string, bytes> bundles = 2 */ bundles: { [key: string]: Uint8Array; }; } /** * @generated from protobuf message JWTSVIDRequest */ interface JWTSVIDRequest { /** * Required. The audience(s) the workload intends to authenticate against. * * @generated from protobuf field: repeated string audience = 1 */ audience: string[]; /** * Optional. The requested SPIFFE ID for the JWT-SVID. If unset, all * JWT-SVIDs to which the workload is entitled are requested. * * @generated from protobuf field: string spiffe_id = 2 */ spiffeId: string; } /** * The JWTSVIDResponse message conveys JWT-SVIDs. * * @generated from protobuf message JWTSVIDResponse */ interface JWTSVIDResponse { /** * Required. The list of returned JWT-SVIDs. * * @generated from protobuf field: repeated JWTSVID svids = 1 */ svids: JWTSVID[]; } /** * The JWTSVID message carries the JWT-SVID token and associated metadata. * * @generated from protobuf message JWTSVID */ interface JWTSVID { /** * Required. The SPIFFE ID of the JWT-SVID. * * @generated from protobuf field: string spiffe_id = 1 */ spiffeId: string; /** * Required. Encoded JWT using JWS Compact Serialization. * * @generated from protobuf field: string svid = 2 */ svid: string; /** * Optional. An operator-specified string used to provide guidance on how this * identity should be used by a workload when more than one SVID is returned. * For example, `internal` and `external` to indicate an SVID for internal or * external use, respectively. * * @generated from protobuf field: string hint = 3 */ hint: string; } /** * The JWTBundlesRequest message conveys parameters for requesting JWT bundles. * There are currently no such parameters. * * @generated from protobuf message JWTBundlesRequest */ interface JWTBundlesRequest {} /** * The JWTBundlesReponse conveys JWT bundles. * * @generated from protobuf message JWTBundlesResponse */ interface JWTBundlesResponse { /** * Required. JWK encoded JWT bundles, keyed by the SPIFFE ID of the trust * domain. * * @generated from protobuf field: map<string, bytes> bundles = 1 */ bundles: { [key: string]: Uint8Array; }; } /** * The ValidateJWTSVIDRequest message conveys request parameters for * JWT-SVID validation. * * @generated from protobuf message ValidateJWTSVIDRequest */ interface ValidateJWTSVIDRequest { /** * Required. The audience of the validating party. The JWT-SVID must * contain an audience claim which contains this value in order to * succesfully validate. * * @generated from protobuf field: string audience = 1 */ audience: string; /** * Required. The JWT-SVID to validate, encoded using JWS Compact * Serialization. * * @generated from protobuf field: string svid = 2 */ svid: string; } /** * The ValidateJWTSVIDReponse message conveys the JWT-SVID validation results. * * @generated from protobuf message ValidateJWTSVIDResponse */ interface ValidateJWTSVIDResponse { /** * Required. The SPIFFE ID of the validated JWT-SVID. * * @generated from protobuf field: string spiffe_id = 1 */ spiffeId: string; /** * Required. Claims contained within the payload of the validated JWT-SVID. * This includes both SPIFFE-required and non-required claims. * * @generated from protobuf field: google.protobuf.Struct claims = 2 */ claims?: Struct; } declare class X509SVIDRequest$Type extends MessageType<X509SVIDRequest> { constructor(); create(value?: PartialMessage<X509SVIDRequest>): X509SVIDRequest; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509SVIDRequest): X509SVIDRequest; internalBinaryWrite(message: X509SVIDRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message X509SVIDRequest */ declare const X509SVIDRequest: X509SVIDRequest$Type; declare class X509SVIDResponse$Type extends MessageType<X509SVIDResponse> { constructor(); create(value?: PartialMessage<X509SVIDResponse>): X509SVIDResponse; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509SVIDResponse): X509SVIDResponse; private binaryReadMap3; internalBinaryWrite(message: X509SVIDResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message X509SVIDResponse */ declare const X509SVIDResponse: X509SVIDResponse$Type; declare class X509SVID$Type extends MessageType<X509SVID> { constructor(); create(value?: PartialMessage<X509SVID>): X509SVID; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509SVID): X509SVID; internalBinaryWrite(message: X509SVID, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message X509SVID */ declare const X509SVID: X509SVID$Type; declare class X509BundlesRequest$Type extends MessageType<X509BundlesRequest> { constructor(); create(value?: PartialMessage<X509BundlesRequest>): X509BundlesRequest; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509BundlesRequest): X509BundlesRequest; internalBinaryWrite(message: X509BundlesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message X509BundlesRequest */ declare const X509BundlesRequest: X509BundlesRequest$Type; declare class X509BundlesResponse$Type extends MessageType<X509BundlesResponse> { constructor(); create(value?: PartialMessage<X509BundlesResponse>): X509BundlesResponse; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509BundlesResponse): X509BundlesResponse; private binaryReadMap2; internalBinaryWrite(message: X509BundlesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message X509BundlesResponse */ declare const X509BundlesResponse: X509BundlesResponse$Type; declare class JWTSVIDRequest$Type extends MessageType<JWTSVIDRequest> { constructor(); create(value?: PartialMessage<JWTSVIDRequest>): JWTSVIDRequest; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTSVIDRequest): JWTSVIDRequest; internalBinaryWrite(message: JWTSVIDRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message JWTSVIDRequest */ declare const JWTSVIDRequest: JWTSVIDRequest$Type; declare class JWTSVIDResponse$Type extends MessageType<JWTSVIDResponse> { constructor(); create(value?: PartialMessage<JWTSVIDResponse>): JWTSVIDResponse; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTSVIDResponse): JWTSVIDResponse; internalBinaryWrite(message: JWTSVIDResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message JWTSVIDResponse */ declare const JWTSVIDResponse: JWTSVIDResponse$Type; declare class JWTSVID$Type extends MessageType<JWTSVID> { constructor(); create(value?: PartialMessage<JWTSVID>): JWTSVID; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTSVID): JWTSVID; internalBinaryWrite(message: JWTSVID, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message JWTSVID */ declare const JWTSVID: JWTSVID$Type; declare class JWTBundlesRequest$Type extends MessageType<JWTBundlesRequest> { constructor(); create(value?: PartialMessage<JWTBundlesRequest>): JWTBundlesRequest; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTBundlesRequest): JWTBundlesRequest; internalBinaryWrite(message: JWTBundlesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message JWTBundlesRequest */ declare const JWTBundlesRequest: JWTBundlesRequest$Type; declare class JWTBundlesResponse$Type extends MessageType<JWTBundlesResponse> { constructor(); create(value?: PartialMessage<JWTBundlesResponse>): JWTBundlesResponse; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTBundlesResponse): JWTBundlesResponse; private binaryReadMap1; internalBinaryWrite(message: JWTBundlesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message JWTBundlesResponse */ declare const JWTBundlesResponse: JWTBundlesResponse$Type; declare class ValidateJWTSVIDRequest$Type extends MessageType<ValidateJWTSVIDRequest> { constructor(); create(value?: PartialMessage<ValidateJWTSVIDRequest>): ValidateJWTSVIDRequest; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ValidateJWTSVIDRequest): ValidateJWTSVIDRequest; internalBinaryWrite(message: ValidateJWTSVIDRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message ValidateJWTSVIDRequest */ declare const ValidateJWTSVIDRequest: ValidateJWTSVIDRequest$Type; declare class ValidateJWTSVIDResponse$Type extends MessageType<ValidateJWTSVIDResponse> { constructor(); create(value?: PartialMessage<ValidateJWTSVIDResponse>): ValidateJWTSVIDResponse; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ValidateJWTSVIDResponse): ValidateJWTSVIDResponse; internalBinaryWrite(message: ValidateJWTSVIDResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message ValidateJWTSVIDResponse */ declare const ValidateJWTSVIDResponse: ValidateJWTSVIDResponse$Type; /** * @generated ServiceType for protobuf service SpiffeWorkloadAPI */ declare const SpiffeWorkloadAPI: ServiceType; //#endregion //#region src/proto/spiffe/workload/workload.client.d.ts /** * /////////////////////////////////////////////////////////////////////// * X509-SVID Profile * /////////////////////////////////////////////////////////////////////// * * @generated from protobuf service SpiffeWorkloadAPI */ interface ISpiffeWorkloadAPIClient { /** * Fetch X.509-SVIDs for all SPIFFE identities the workload is entitled to, * as well as related information like trust bundles and CRLs. As this * information changes, subsequent messages will be streamed from the * server. * * @generated from protobuf rpc: FetchX509SVID */ fetchX509SVID(input: X509SVIDRequest, options?: RpcOptions): ServerStreamingCall<X509SVIDRequest, X509SVIDResponse>; /** * Fetch trust bundles and CRLs. Useful for clients that only need to * validate SVIDs without obtaining an SVID for themself. As this * information changes, subsequent messages will be streamed from the * server. * * @generated from protobuf rpc: FetchX509Bundles */ fetchX509Bundles(input: X509BundlesRequest, options?: RpcOptions): ServerStreamingCall<X509BundlesRequest, X509BundlesResponse>; /** * Fetch JWT-SVIDs for all SPIFFE identities the workload is entitled to, * for the requested audience. If an optional SPIFFE ID is requested, only * the JWT-SVID for that SPIFFE ID is returned. * * @generated from protobuf rpc: FetchJWTSVID */ fetchJWTSVID(input: JWTSVIDRequest, options?: RpcOptions): UnaryCall<JWTSVIDRequest, JWTSVIDResponse>; /** * Fetches the JWT bundles, formatted as JWKS documents, keyed by the * SPIFFE ID of the trust domain. As this information changes, subsequent * messages will be streamed from the server. * * @generated from protobuf rpc: FetchJWTBundles */ fetchJWTBundles(input: JWTBundlesRequest, options?: RpcOptions): ServerStreamingCall<JWTBundlesRequest, JWTBundlesResponse>; /** * Validates a JWT-SVID against the requested audience. Returns the SPIFFE * ID of the JWT-SVID and JWT claims. * * @generated from protobuf rpc: ValidateJWTSVID */ validateJWTSVID(input: ValidateJWTSVIDRequest, options?: RpcOptions): UnaryCall<ValidateJWTSVIDRequest, ValidateJWTSVIDResponse>; } /** * /////////////////////////////////////////////////////////////////////// * X509-SVID Profile * /////////////////////////////////////////////////////////////////////// * * @generated from protobuf service SpiffeWorkloadAPI */ declare class SpiffeWorkloadAPIClient implements ISpiffeWorkloadAPIClient, ServiceInfo { private readonly _transport; typeName: string; methods: _protobuf_ts_runtime_rpc0.MethodInfo<any, any>[]; options: { [extensionName: string]: _protobuf_ts_runtime0.JsonValue; }; constructor(_transport: RpcTransport); /** * Fetch X.509-SVIDs for all SPIFFE identities the workload is entitled to, * as well as related information like trust bundles and CRLs. As this * information changes, subsequent messages will be streamed from the * server. * * @generated from protobuf rpc: FetchX509SVID */ fetchX509SVID(input: X509SVIDRequest, options?: RpcOptions): ServerStreamingCall<X509SVIDRequest, X509SVIDResponse>; /** * Fetch trust bundles and CRLs. Useful for clients that only need to * validate SVIDs without obtaining an SVID for themself. As this * information changes, subsequent messages will be streamed from the * server. * * @generated from protobuf rpc: FetchX509Bundles */ fetchX509Bundles(input: X509BundlesRequest, options?: RpcOptions): ServerStreamingCall<X509BundlesRequest, X509BundlesResponse>; /** * Fetch JWT-SVIDs for all SPIFFE identities the workload is entitled to, * for the requested audience. If an optional SPIFFE ID is requested, only * the JWT-SVID for that SPIFFE ID is returned. * * @generated from protobuf rpc: FetchJWTSVID */ fetchJWTSVID(input: JWTSVIDRequest, options?: RpcOptions): UnaryCall<JWTSVIDRequest, JWTSVIDResponse>; /** * Fetches the JWT bundles, formatted as JWKS documents, keyed by the * SPIFFE ID of the trust domain. As this information changes, subsequent * messages will be streamed from the server. * * @generated from protobuf rpc: FetchJWTBundles */ fetchJWTBundles(input: JWTBundlesRequest, options?: RpcOptions): ServerStreamingCall<JWTBundlesRequest, JWTBundlesResponse>; /** * Validates a JWT-SVID against the requested audience. Returns the SPIFFE * ID of the JWT-SVID and JWT claims. * * @generated from protobuf rpc: ValidateJWTSVID */ validateJWTSVID(input: ValidateJWTSVIDRequest, options?: RpcOptions): UnaryCall<ValidateJWTSVIDRequest, ValidateJWTSVIDResponse>; } //#endregion //#region src/index.d.ts declare function createClient(baseURL?: string): SpiffeWorkloadAPIClient; /** * Utility function to parse a raw certificate. Can be used to convert the * raw certificate into a PEM certificate: * * ```typescript * const cert = parseCertificate(data) * const pem = cert.toString('pem') * ``` * * **Note:** if you have a certificate bundle, use `parseCertificateBundle` instead, as * this function will incorrectly parse bundles as a single certificate. * * @param data The raw data of the certificate * @returns [X509Certificate](https://peculiarventures.github.io/x509/classes/X509Certificate.html) * @see https://github.com/PeculiarVentures/x509 */ declare function parseCertificate(data: Uint8Array): x509.X509Certificate; /** * Utility function to parse a certificate bundle. Can be used to convert the * bundle into a PEM chain: * * ```typescript * const certs = parseCertificateBundle(data) * const pemChain = certs.toString('pem-chain') * ``` * * @param data The raw data of the certificate bundle * @returns [X509Certificates](https://peculiarventures.github.io/x509/classes/X509Certificates.html) * @see https://github.com/PeculiarVentures/x509 */ declare function parseCertificateBundle(data: Uint8Array): x509.X509Certificates; //#endregion export { ISpiffeWorkloadAPIClient, JWTBundlesRequest, JWTBundlesResponse, JWTSVID, JWTSVIDRequest, JWTSVIDResponse, ListValue, NullValue, SpiffeWorkloadAPI, SpiffeWorkloadAPIClient, Struct, ValidateJWTSVIDRequest, ValidateJWTSVIDResponse, Value, X509BundlesRequest, X509BundlesResponse, X509SVID, X509SVIDRequest, X509SVIDResponse, createClient, parseCertificate, parseCertificateBundle };