import { IExecutableSchemaDefinition } from '@graphql-tools/schema';
export declare const SubgraphBaseSDL = "\n  scalar _Any\n  scalar _FieldSet\n  scalar link__Import\n\n  enum link__Purpose {\n    SECURITY\n    EXECUTION\n  }\n\n  type _Service {\n    sdl: String!\n  }\n\n  type Query {\n    _service: _Service!\n  }\n\n  directive @external on FIELD_DEFINITION | OBJECT\n  directive @requires(fields: _FieldSet!) on FIELD_DEFINITION\n  directive @provides(fields: _FieldSet!) on FIELD_DEFINITION\n  directive @key(fields: _FieldSet!, resolvable: Boolean = true) repeatable on OBJECT | INTERFACE\n  directive @link(\n    url: String!\n    as: String\n    for: link__Purpose\n    import: [link__Import]\n  ) repeatable on SCHEMA\n  directive @shareable repeatable on OBJECT | FIELD_DEFINITION\n  directive @inaccessible on FIELD_DEFINITION | OBJECT | INTERFACE | UNION | ARGUMENT_DEFINITION | SCALAR | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION\n  directive @tag(\n    name: String!\n  ) repeatable on FIELD_DEFINITION | INTERFACE | OBJECT | UNION | ARGUMENT_DEFINITION | SCALAR | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION\n  directive @override(from: String!) on FIELD_DEFINITION\n  directive @composeDirective(name: String!) repeatable on SCHEMA\n\n  directive @extends on OBJECT | INTERFACE\n";
export declare function buildSubgraphSchema<TContext = any>(optsOrModules: IExecutableSchemaDefinition<TContext> | Pick<IExecutableSchemaDefinition<TContext>, 'typeDefs' | 'resolvers'>[]): import("graphql").GraphQLSchema;
