import { type MethodDescriptorProto, type ServiceDescriptorProto } from 'ts-proto-descriptors';
import { type ProtoMetadata, type ServiceConfig, type SubSpaceServiceConfig } from './types.js';
import { GraphQLSchema, type ThunkObjMap, type GraphQLFieldConfig, type GraphQLFieldConfigMap } from 'graphql';
export declare const getGQLSchema: <TSource, TContext>(method: MethodDescriptorProto) => GraphQLFieldConfig<TSource, TContext>;
export declare const getGQLSchemas: <TSource, TContext>(service: ServiceDescriptorProto) => GraphQLFieldConfigMap<TSource, TContext>;
type SchemaBaseOrSub = ThunkObjMap<GraphQLFieldConfig<any, any>> | Map<string, ThunkObjMap<GraphQLFieldConfig<any, any>>>;
export declare const registerResolverSchema: (namespace: string, name: string, schema: SchemaBaseOrSub, mutation: boolean, subspace: string | undefined, config: ServiceConfig) => void;
export declare const generateSchema: (setup: {
    prefix: string;
    namespace: string;
}[]) => GraphQLSchema;
export declare const generateSubServiceSchemas: (subServices: ProtoMetadata[], config: SubSpaceServiceConfig, namespace: string, prefix: string) => GraphQLSchema;
export {};
//# sourceMappingURL=schema.d.ts.map