// @generated by protobuf-ts 2.9.1 with parameter output_legacy_commonjs,client_grpc1,server_none,output_javascript_es2020
// @generated from protobuf file "workload.proto" (syntax proto3)
// tslint:disable
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { ValidateJWTSVIDResponse } from "./workload";
import type { ValidateJWTSVIDRequest } from "./workload";
import type { JWTBundlesResponse } from "./workload";
import type { JWTBundlesRequest } from "./workload";
import type { JWTSVIDResponse } from "./workload";
import type { JWTSVIDRequest } from "./workload";
import type { X509BundlesResponse } from "./workload";
import type { X509BundlesRequest } from "./workload";
import type { X509SVIDResponse } from "./workload";
import type { X509SVIDRequest } from "./workload";
import * as grpc from "@grpc/grpc-js";
/**
 * ///////////////////////////////////////////////////////////////////////
 * X509-SVID Profile
 * ///////////////////////////////////////////////////////////////////////
 *
 * @generated from protobuf service SpiffeWorkloadAPI
 */
export 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(X509SVIDRequest) returns (stream X509SVIDResponse);
     */
    fetchX509SVID(input: X509SVIDRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<X509SVIDResponse>;
    fetchX509SVID(input: X509SVIDRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<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(X509BundlesRequest) returns (stream X509BundlesResponse);
     */
    fetchX509Bundles(input: X509BundlesRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<X509BundlesResponse>;
    fetchX509Bundles(input: X509BundlesRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<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(JWTSVIDRequest) returns (JWTSVIDResponse);
     */
    fetchJWTSVID(input: JWTSVIDRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void): grpc.ClientUnaryCall;
    fetchJWTSVID(input: JWTSVIDRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void): grpc.ClientUnaryCall;
    fetchJWTSVID(input: JWTSVIDRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void): grpc.ClientUnaryCall;
    fetchJWTSVID(input: JWTSVIDRequest, callback: (err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void): grpc.ClientUnaryCall;
    /**
     * 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(JWTBundlesRequest) returns (stream JWTBundlesResponse);
     */
    fetchJWTBundles(input: JWTBundlesRequest, metadata?: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientReadableStream<JWTBundlesResponse>;
    fetchJWTBundles(input: JWTBundlesRequest, options?: grpc.CallOptions): grpc.ClientReadableStream<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(ValidateJWTSVIDRequest) returns (ValidateJWTSVIDResponse);
     */
    validateJWTSVID(input: ValidateJWTSVIDRequest, metadata: grpc.Metadata, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void): grpc.ClientUnaryCall;
    validateJWTSVID(input: ValidateJWTSVIDRequest, metadata: grpc.Metadata, callback: (err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void): grpc.ClientUnaryCall;
    validateJWTSVID(input: ValidateJWTSVIDRequest, options: grpc.CallOptions, callback: (err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void): grpc.ClientUnaryCall;
    validateJWTSVID(input: ValidateJWTSVIDRequest, callback: (err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void): grpc.ClientUnaryCall;
}
/**
 * ///////////////////////////////////////////////////////////////////////
 * X509-SVID Profile
 * ///////////////////////////////////////////////////////////////////////
 *
 * @generated from protobuf service SpiffeWorkloadAPI
 */
export declare class SpiffeWorkloadAPIClient extends grpc.Client implements ISpiffeWorkloadAPIClient {
    private readonly _binaryOptions;
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: grpc.ClientOptions, binaryOptions?: Partial<BinaryReadOptions & BinaryWriteOptions>);
    /**
     * 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(X509SVIDRequest) returns (stream X509SVIDResponse);
     */
    fetchX509SVID(input: X509SVIDRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<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(X509BundlesRequest) returns (stream X509BundlesResponse);
     */
    fetchX509Bundles(input: X509BundlesRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<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(JWTSVIDRequest) returns (JWTSVIDResponse);
     */
    fetchJWTSVID(input: JWTSVIDRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: JWTSVIDResponse) => void)): grpc.ClientUnaryCall;
    /**
     * 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(JWTBundlesRequest) returns (stream JWTBundlesResponse);
     */
    fetchJWTBundles(input: JWTBundlesRequest, metadata?: grpc.Metadata | grpc.CallOptions, options?: grpc.CallOptions): grpc.ClientReadableStream<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(ValidateJWTSVIDRequest) returns (ValidateJWTSVIDResponse);
     */
    validateJWTSVID(input: ValidateJWTSVIDRequest, metadata: grpc.Metadata | grpc.CallOptions | ((err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void), options?: grpc.CallOptions | ((err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void), callback?: ((err: grpc.ServiceError | null, value?: ValidateJWTSVIDResponse) => void)): grpc.ClientUnaryCall;
}
