import type { GraphQLSchema, GraphQLScalarType } from '@luvio/graphql-parser'; import type { GraphQLTypeExtension, LuvioGraphQLDSL, LuvioGraphQLDSLParams } from '../../intermediate/graphql'; type GraphQLTypeExtensions = Record; export declare class GraphQLDSL implements LuvioGraphQLDSL { schema: Readonly; schemaName: Readonly; customScalars: GraphQLScalarType[]; cursorConnectionTypes: Readonly; typeNameToExtensions: GraphQLTypeExtensions; constructor(luvioSchemaParams: Readonly); private extractCustomScalars; /** * Find schema types that satisfy the GraphQL Cursor Connections spec. * See https://relay.dev/graphql/connections.htm * * The conditions are: * 1. Name must end with "Connections" * 2. Must have a non-null field named "edges". This field must return a list type * that wraps an Edge type. Edge types must have fields named "node" (Object) * and "cursor" (non-null type that serializes as a String) * 3. Must have a field named "pageInfo". This field must return a PageInfo * object. PageInfo must have fields "hasNextPage" (Boolean!), * "hasPreviousPage" (Boolean!), "startCursor" (String!), and "endCursor" (String!) */ private extractCursorConnectionTypes; private hasEdgesField; private hasPageInfoField; private findField; } export declare function interpretGraphQLSchema(schemaString: string): Readonly; export {};