// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0

// @generated by protobuf-ts 2.9.6 with parameter force_server_none,optimize_code_size,ts_nocheck
// @generated from protobuf file "sui/rpc/v2/jwk.proto" (package "sui.rpc.v2", syntax proto3)
// tslint:disable
// @ts-nocheck
//
// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
//
import { MessageType } from '@protobuf-ts/runtime';
/**
 * Key to uniquely identify a JWK.
 *
 * @generated from protobuf message sui.rpc.v2.JwkId
 */
export interface JwkId {
	/**
	 * The issuer or identity of the OIDC provider.
	 *
	 * @generated from protobuf field: optional string iss = 1;
	 */
	iss?: string;
	/**
	 * A key ID used to uniquely identify a key from an OIDC provider.
	 *
	 * @generated from protobuf field: optional string kid = 2;
	 */
	kid?: string;
}
/**
 * A JSON web key.
 *
 * Struct that contains info for a JWK. A list of them for different kinds can
 * be retrieved from the JWK endpoint (for example, <https://www.googleapis.com/oauth2/v3/certs>).
 * The JWK is used to verify the JWT token.
 *
 * @generated from protobuf message sui.rpc.v2.Jwk
 */
export interface Jwk {
	/**
	 * Key type parameter, https://datatracker.ietf.org/doc/html/rfc7517#section-4.1.
	 *
	 * @generated from protobuf field: optional string kty = 1;
	 */
	kty?: string;
	/**
	 * RSA public exponent, https://datatracker.ietf.org/doc/html/rfc7517#section-9.3.
	 *
	 * @generated from protobuf field: optional string e = 2;
	 */
	e?: string;
	/**
	 * RSA modulus, https://datatracker.ietf.org/doc/html/rfc7517#section-9.3.
	 *
	 * @generated from protobuf field: optional string n = 3;
	 */
	n?: string;
	/**
	 * Algorithm parameter, https://datatracker.ietf.org/doc/html/rfc7517#section-4.4.
	 *
	 * @generated from protobuf field: optional string alg = 4;
	 */
	alg?: string;
}
// @generated message type with reflection information, may provide speed optimized methods
class JwkId$Type extends MessageType<JwkId> {
	constructor() {
		super('sui.rpc.v2.JwkId', [
			{ no: 1, name: 'iss', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ },
			{ no: 2, name: 'kid', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ },
		]);
	}
}
/**
 * @generated MessageType for protobuf message sui.rpc.v2.JwkId
 */
export const JwkId = new JwkId$Type();
// @generated message type with reflection information, may provide speed optimized methods
class Jwk$Type extends MessageType<Jwk> {
	constructor() {
		super('sui.rpc.v2.Jwk', [
			{ no: 1, name: 'kty', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ },
			{ no: 2, name: 'e', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ },
			{ no: 3, name: 'n', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ },
			{ no: 4, name: 'alg', kind: 'scalar', opt: true, T: 9 /*ScalarType.STRING*/ },
		]);
	}
}
/**
 * @generated MessageType for protobuf message sui.rpc.v2.Jwk
 */
export const Jwk = new Jwk$Type();
