// @generated by protobuf-ts 2.9.1 with parameter output_legacy_commonjs,client_grpc1,server_none,output_javascript_es2019
// @generated from protobuf file "spire/api/agent/delegatedidentity.proto" (package "spire.api.agent.delegatedidentity.v1", syntax proto3)
// tslint:disable
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { SubscribeToJWTBundlesResponse } from "./delegatedidentity";
import type { SubscribeToJWTBundlesRequest } from "./delegatedidentity";
import type { FetchJWTSVIDsResponse } from "./delegatedidentity";
import type { FetchJWTSVIDsRequest } from "./delegatedidentity";
import type { SubscribeToX509BundlesResponse } from "./delegatedidentity";
import type { SubscribeToX509BundlesRequest } from "./delegatedidentity";
import type { SubscribeToX509SVIDsResponse } from "./delegatedidentity";
import type { SubscribeToX509SVIDsRequest } from "./delegatedidentity";
import * as grpc from "@grpc/grpc-js";
/**
 * The delegatedIdentity service provides an interface to get the SVIDs of other
 * workloads on the host. This service is intended for use cases where a process
 * (different than the workload one) should access the workload's SVID to
 * perform actions on behalf of the workload. One example of is using a single
 * node instance of Envoy that upgrades TCP connections for different processes
 * running in such a node.
 *
 * The caller must be local and its identity must be listed in the allowed
 * clients on the spire-agent configuration.
 *
 * @generated from protobuf service spire.api.agent.delegatedidentity.v1.DelegatedIdentity
 */
export interface IDelegatedIdentityClient {
    /**
     * Subscribe to get X.509-SVIDs for workloads that match the given selectors.
     * The lifetime of the subscription aligns to the lifetime of the stream.
     *
     * @generated from protobuf rpc: SubscribeToX509SVIDs(spire.api.agent.delegatedidentity.v1.SubscribeToX509SVIDsRequest) returns (stream spire.api.agent.delegatedidentity.v1.SubscribeToX509SVIDsResponse);
     */
    subscribeToX509SVIDs(input: SubscribeToX509SVIDsRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToX509SVIDsResponse>;
    subscribeToX509SVIDs(input: SubscribeToX509SVIDsRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToX509SVIDsResponse>;
    /**
     * Subscribe to get local and all federated bundles.
     * The lifetime of the subscription aligns to the lifetime of the stream.
     *
     * @generated from protobuf rpc: SubscribeToX509Bundles(spire.api.agent.delegatedidentity.v1.SubscribeToX509BundlesRequest) returns (stream spire.api.agent.delegatedidentity.v1.SubscribeToX509BundlesResponse);
     */
    subscribeToX509Bundles(input: SubscribeToX509BundlesRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToX509BundlesResponse>;
    subscribeToX509Bundles(input: SubscribeToX509BundlesRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToX509BundlesResponse>;
    /**
     * Fetch JWT-SVIDs for workloads that match the given selectors, and
     * for the requested audience.
     *
     * @generated from protobuf rpc: FetchJWTSVIDs(spire.api.agent.delegatedidentity.v1.FetchJWTSVIDsRequest) returns (spire.api.agent.delegatedidentity.v1.FetchJWTSVIDsResponse);
     */
    fetchJWTSVIDs(input: FetchJWTSVIDsRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void): grpc.ClientUnaryCall;
    fetchJWTSVIDs(input: FetchJWTSVIDsRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void): grpc.ClientUnaryCall;
    fetchJWTSVIDs(input: FetchJWTSVIDsRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void): grpc.ClientUnaryCall;
    fetchJWTSVIDs(input: FetchJWTSVIDsRequest, callback: (err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void): grpc.ClientUnaryCall;
    /**
     * Subscribe to get local and all federated JWKS bundles.
     * The lifetime of the subscription aligns to the lifetime of the stream.
     *
     * @generated from protobuf rpc: SubscribeToJWTBundles(spire.api.agent.delegatedidentity.v1.SubscribeToJWTBundlesRequest) returns (stream spire.api.agent.delegatedidentity.v1.SubscribeToJWTBundlesResponse);
     */
    subscribeToJWTBundles(input: SubscribeToJWTBundlesRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToJWTBundlesResponse>;
    subscribeToJWTBundles(input: SubscribeToJWTBundlesRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToJWTBundlesResponse>;
}
/**
 * The delegatedIdentity service provides an interface to get the SVIDs of other
 * workloads on the host. This service is intended for use cases where a process
 * (different than the workload one) should access the workload's SVID to
 * perform actions on behalf of the workload. One example of is using a single
 * node instance of Envoy that upgrades TCP connections for different processes
 * running in such a node.
 *
 * The caller must be local and its identity must be listed in the allowed
 * clients on the spire-agent configuration.
 *
 * @generated from protobuf service spire.api.agent.delegatedidentity.v1.DelegatedIdentity
 */
export declare class DelegatedIdentityClient extends grpc.Client implements IDelegatedIdentityClient {
    private readonly _binaryOptions;
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: grpc.ClientOptions, binaryOptions?: Partial<BinaryReadOptions & BinaryWriteOptions>);
    /**
     * Subscribe to get X.509-SVIDs for workloads that match the given selectors.
     * The lifetime of the subscription aligns to the lifetime of the stream.
     *
     * @generated from protobuf rpc: SubscribeToX509SVIDs(spire.api.agent.delegatedidentity.v1.SubscribeToX509SVIDsRequest) returns (stream spire.api.agent.delegatedidentity.v1.SubscribeToX509SVIDsResponse);
     */
    subscribeToX509SVIDs(input: SubscribeToX509SVIDsRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToX509SVIDsResponse>;
    /**
     * Subscribe to get local and all federated bundles.
     * The lifetime of the subscription aligns to the lifetime of the stream.
     *
     * @generated from protobuf rpc: SubscribeToX509Bundles(spire.api.agent.delegatedidentity.v1.SubscribeToX509BundlesRequest) returns (stream spire.api.agent.delegatedidentity.v1.SubscribeToX509BundlesResponse);
     */
    subscribeToX509Bundles(input: SubscribeToX509BundlesRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToX509BundlesResponse>;
    /**
     * Fetch JWT-SVIDs for workloads that match the given selectors, and
     * for the requested audience.
     *
     * @generated from protobuf rpc: FetchJWTSVIDs(spire.api.agent.delegatedidentity.v1.FetchJWTSVIDsRequest) returns (spire.api.agent.delegatedidentity.v1.FetchJWTSVIDsResponse);
     */
    fetchJWTSVIDs(input: FetchJWTSVIDsRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: FetchJWTSVIDsResponse) => void)): grpc.ClientUnaryCall;
    /**
     * Subscribe to get local and all federated JWKS bundles.
     * The lifetime of the subscription aligns to the lifetime of the stream.
     *
     * @generated from protobuf rpc: SubscribeToJWTBundles(spire.api.agent.delegatedidentity.v1.SubscribeToJWTBundlesRequest) returns (stream spire.api.agent.delegatedidentity.v1.SubscribeToJWTBundlesResponse);
     */
    subscribeToJWTBundles(input: SubscribeToJWTBundlesRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<SubscribeToJWTBundlesResponse>;
}
