import * as grpc from '@grpc/grpc-js'; import * as protobufjs from 'protobufjs'; import type * as descriptor from 'protobufjs/ext/descriptor'; import { ApiActionConfig, ApiServiceGrpcActionConfig, BaseSchema, EndpointsConfig, GatewayApiOptions } from '../models/common'; import { GatewayContext } from '../models/context'; import { AppErrorConstructor } from '../models/error'; declare module 'protobufjs' { interface Root { toDescriptor(protoVersion: string): protobufjs.Message & descriptor.IFileDescriptorSet; } } interface CredentialsMap { insecure: grpc.ChannelCredentials; secure: grpc.ChannelCredentials; secureWithoutRootCert: grpc.ChannelCredentials; } export interface GrpcContext { root: protobufjs.Root; credentials: CredentialsMap; } export declare function createRoot(includeGrpcPaths?: string[]): protobufjs.Root; export declare function getCredentialsMap(caCertificatePath?: string | null, clientCertificatePath?: string | null, clientKeyPath?: string | null): CredentialsMap; export default function createGrpcAction({ root, credentials }: GrpcContext, endpoints: EndpointsConfig | undefined, config: ApiServiceGrpcActionConfig, serviceKey: string, actionName: string, options: GatewayApiOptions, ErrorConstructor: AppErrorConstructor, serviceSchema?: Pick): (actionConfig: ApiActionConfig) => Promise | import("../models/common").GatewayActionServerStreamResponse | import("../models/common").GatewayActionDuplexStreamResponse | import("../models/common").GatewayActionUnaryResponse>; export {};