import { ServiceType } from '@protobuf-ts/runtime-rpc';
import type { BinaryWriteOptions } from '@protobuf-ts/runtime';
import type { IBinaryWriter } from '@protobuf-ts/runtime';
import type { BinaryReadOptions } from '@protobuf-ts/runtime';
import type { IBinaryReader } from '@protobuf-ts/runtime';
import type { PartialMessage } from '@protobuf-ts/runtime';
import { MessageType } from '@protobuf-ts/runtime';
import { FieldMask } from '../../../../../../google/protobuf/field_mask.js';
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.IdentityProviderConfig
 */
export interface IdentityProviderConfig {
    /**
     * The identity provider identifier
     * Must be a valid LedgerString (as describe in ``value.proto``).
     * Required
     *
     * @generated from protobuf field: string identity_provider_id = 1
     */
    identityProviderId: string;
    /**
     * When set, the callers using JWT tokens issued by this identity provider are denied all access
     * to the Ledger API.
     * Optional,
     * Modifiable
     *
     * @generated from protobuf field: bool is_deactivated = 2
     */
    isDeactivated: boolean;
    /**
     * Specifies the issuer of the JWT token.
     * The issuer value is a case sensitive URL using the https scheme that contains scheme, host,
     * and optionally, port number and path components and no query or fragment components.
     * Required
     * Modifiable
     *
     * @generated from protobuf field: string issuer = 3
     */
    issuer: string;
    /**
     * The JWKS (JSON Web Key Set) URL.
     * The Ledger API uses JWKs (JSON Web Keys) from the provided URL to verify that the JWT has been
     * signed with the loaded JWK. Only RS256 (RSA Signature with SHA-256) signing algorithm is supported.
     * Required
     * Modifiable
     *
     * @generated from protobuf field: string jwks_url = 4
     */
    jwksUrl: string;
    /**
     * Specifies the audience of the JWT token.
     * When set, the callers using JWT tokens issued by this identity provider are allowed to get an access
     * only if the "aud" claim includes the string specified here
     * Optional,
     * Modifiable
     *
     * @generated from protobuf field: string audience = 5
     */
    audience: string;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.CreateIdentityProviderConfigRequest
 */
export interface CreateIdentityProviderConfigRequest {
    /**
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.IdentityProviderConfig identity_provider_config = 1
     */
    identityProviderConfig?: IdentityProviderConfig;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.CreateIdentityProviderConfigResponse
 */
export interface CreateIdentityProviderConfigResponse {
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.IdentityProviderConfig identity_provider_config = 1
     */
    identityProviderConfig?: IdentityProviderConfig;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.GetIdentityProviderConfigRequest
 */
export interface GetIdentityProviderConfigRequest {
    /**
     * Required
     *
     * @generated from protobuf field: string identity_provider_id = 1
     */
    identityProviderId: string;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.GetIdentityProviderConfigResponse
 */
export interface GetIdentityProviderConfigResponse {
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.IdentityProviderConfig identity_provider_config = 1
     */
    identityProviderConfig?: IdentityProviderConfig;
}
/**
 * Pagination is not required as the resulting data set is small enough to be returned in a single call
 *
 * @generated from protobuf message com.daml.ledger.api.v2.admin.ListIdentityProviderConfigsRequest
 */
export interface ListIdentityProviderConfigsRequest {
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.ListIdentityProviderConfigsResponse
 */
export interface ListIdentityProviderConfigsResponse {
    /**
     * @generated from protobuf field: repeated com.daml.ledger.api.v2.admin.IdentityProviderConfig identity_provider_configs = 1
     */
    identityProviderConfigs: IdentityProviderConfig[];
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.UpdateIdentityProviderConfigRequest
 */
export interface UpdateIdentityProviderConfigRequest {
    /**
     * The identity provider config to update.
     * Required,
     * Modifiable
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.IdentityProviderConfig identity_provider_config = 1
     */
    identityProviderConfig?: IdentityProviderConfig;
    /**
     * An update mask specifies how and which properties of the ``IdentityProviderConfig`` message are to be updated.
     * An update mask consists of a set of update paths.
     * A valid update path points to a field or a subfield relative to the ``IdentityProviderConfig`` message.
     * A valid update mask must:
     *
     * 1. contain at least one update path,
     * 2. contain only valid update paths.
     *
     * Fields that can be updated are marked as ``Modifiable``.
     * For additional information see the documentation for standard protobuf3's ``google.protobuf.FieldMask``.
     * Required
     *
     * @generated from protobuf field: google.protobuf.FieldMask update_mask = 2
     */
    updateMask?: FieldMask;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.UpdateIdentityProviderConfigResponse
 */
export interface UpdateIdentityProviderConfigResponse {
    /**
     * Updated identity provider config
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.IdentityProviderConfig identity_provider_config = 1
     */
    identityProviderConfig?: IdentityProviderConfig;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.DeleteIdentityProviderConfigRequest
 */
export interface DeleteIdentityProviderConfigRequest {
    /**
     * The identity provider config to delete.
     * Required
     *
     * @generated from protobuf field: string identity_provider_id = 1
     */
    identityProviderId: string;
}
/**
 * Does not (yet) contain any data.
 *
 * @generated from protobuf message com.daml.ledger.api.v2.admin.DeleteIdentityProviderConfigResponse
 */
export interface DeleteIdentityProviderConfigResponse {
}
declare class IdentityProviderConfig$Type extends MessageType<IdentityProviderConfig> {
    constructor();
    create(value?: PartialMessage<IdentityProviderConfig>): IdentityProviderConfig;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IdentityProviderConfig): IdentityProviderConfig;
    internalBinaryWrite(message: IdentityProviderConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.IdentityProviderConfig
 */
export declare const IdentityProviderConfig: IdentityProviderConfig$Type;
declare class CreateIdentityProviderConfigRequest$Type extends MessageType<CreateIdentityProviderConfigRequest> {
    constructor();
    create(value?: PartialMessage<CreateIdentityProviderConfigRequest>): CreateIdentityProviderConfigRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateIdentityProviderConfigRequest): CreateIdentityProviderConfigRequest;
    internalBinaryWrite(message: CreateIdentityProviderConfigRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.CreateIdentityProviderConfigRequest
 */
export declare const CreateIdentityProviderConfigRequest: CreateIdentityProviderConfigRequest$Type;
declare class CreateIdentityProviderConfigResponse$Type extends MessageType<CreateIdentityProviderConfigResponse> {
    constructor();
    create(value?: PartialMessage<CreateIdentityProviderConfigResponse>): CreateIdentityProviderConfigResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateIdentityProviderConfigResponse): CreateIdentityProviderConfigResponse;
    internalBinaryWrite(message: CreateIdentityProviderConfigResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.CreateIdentityProviderConfigResponse
 */
export declare const CreateIdentityProviderConfigResponse: CreateIdentityProviderConfigResponse$Type;
declare class GetIdentityProviderConfigRequest$Type extends MessageType<GetIdentityProviderConfigRequest> {
    constructor();
    create(value?: PartialMessage<GetIdentityProviderConfigRequest>): GetIdentityProviderConfigRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetIdentityProviderConfigRequest): GetIdentityProviderConfigRequest;
    internalBinaryWrite(message: GetIdentityProviderConfigRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.GetIdentityProviderConfigRequest
 */
export declare const GetIdentityProviderConfigRequest: GetIdentityProviderConfigRequest$Type;
declare class GetIdentityProviderConfigResponse$Type extends MessageType<GetIdentityProviderConfigResponse> {
    constructor();
    create(value?: PartialMessage<GetIdentityProviderConfigResponse>): GetIdentityProviderConfigResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetIdentityProviderConfigResponse): GetIdentityProviderConfigResponse;
    internalBinaryWrite(message: GetIdentityProviderConfigResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.GetIdentityProviderConfigResponse
 */
export declare const GetIdentityProviderConfigResponse: GetIdentityProviderConfigResponse$Type;
declare class ListIdentityProviderConfigsRequest$Type extends MessageType<ListIdentityProviderConfigsRequest> {
    constructor();
    create(value?: PartialMessage<ListIdentityProviderConfigsRequest>): ListIdentityProviderConfigsRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListIdentityProviderConfigsRequest): ListIdentityProviderConfigsRequest;
    internalBinaryWrite(message: ListIdentityProviderConfigsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.ListIdentityProviderConfigsRequest
 */
export declare const ListIdentityProviderConfigsRequest: ListIdentityProviderConfigsRequest$Type;
declare class ListIdentityProviderConfigsResponse$Type extends MessageType<ListIdentityProviderConfigsResponse> {
    constructor();
    create(value?: PartialMessage<ListIdentityProviderConfigsResponse>): ListIdentityProviderConfigsResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListIdentityProviderConfigsResponse): ListIdentityProviderConfigsResponse;
    internalBinaryWrite(message: ListIdentityProviderConfigsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.ListIdentityProviderConfigsResponse
 */
export declare const ListIdentityProviderConfigsResponse: ListIdentityProviderConfigsResponse$Type;
declare class UpdateIdentityProviderConfigRequest$Type extends MessageType<UpdateIdentityProviderConfigRequest> {
    constructor();
    create(value?: PartialMessage<UpdateIdentityProviderConfigRequest>): UpdateIdentityProviderConfigRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateIdentityProviderConfigRequest): UpdateIdentityProviderConfigRequest;
    internalBinaryWrite(message: UpdateIdentityProviderConfigRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.UpdateIdentityProviderConfigRequest
 */
export declare const UpdateIdentityProviderConfigRequest: UpdateIdentityProviderConfigRequest$Type;
declare class UpdateIdentityProviderConfigResponse$Type extends MessageType<UpdateIdentityProviderConfigResponse> {
    constructor();
    create(value?: PartialMessage<UpdateIdentityProviderConfigResponse>): UpdateIdentityProviderConfigResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateIdentityProviderConfigResponse): UpdateIdentityProviderConfigResponse;
    internalBinaryWrite(message: UpdateIdentityProviderConfigResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.UpdateIdentityProviderConfigResponse
 */
export declare const UpdateIdentityProviderConfigResponse: UpdateIdentityProviderConfigResponse$Type;
declare class DeleteIdentityProviderConfigRequest$Type extends MessageType<DeleteIdentityProviderConfigRequest> {
    constructor();
    create(value?: PartialMessage<DeleteIdentityProviderConfigRequest>): DeleteIdentityProviderConfigRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteIdentityProviderConfigRequest): DeleteIdentityProviderConfigRequest;
    internalBinaryWrite(message: DeleteIdentityProviderConfigRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.DeleteIdentityProviderConfigRequest
 */
export declare const DeleteIdentityProviderConfigRequest: DeleteIdentityProviderConfigRequest$Type;
declare class DeleteIdentityProviderConfigResponse$Type extends MessageType<DeleteIdentityProviderConfigResponse> {
    constructor();
    create(value?: PartialMessage<DeleteIdentityProviderConfigResponse>): DeleteIdentityProviderConfigResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteIdentityProviderConfigResponse): DeleteIdentityProviderConfigResponse;
    internalBinaryWrite(message: DeleteIdentityProviderConfigResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.DeleteIdentityProviderConfigResponse
 */
export declare const DeleteIdentityProviderConfigResponse: DeleteIdentityProviderConfigResponse$Type;
/**
 * @generated ServiceType for protobuf service com.daml.ledger.api.v2.admin.IdentityProviderConfigService
 */
export declare const IdentityProviderConfigService: ServiceType;
export {};
//# sourceMappingURL=identity_provider_config_service.d.ts.map