import type { GraphQLSchema, GraphQLInterfaceType, GraphQLObjectType, TypeNode, ObjectTypeDefinitionNode, FieldDefinitionNode, InterfaceTypeDefinitionNode, GraphQLUnionType, UnionTypeDefinitionNode } from '@luvio/graphql-parser'; import type { ShapeTtls } from '../../../intermediate/model-info'; export type NormalizableTypes = Record | GraphQLUnionType>; export declare function resolveTypeName(typeNode: TypeNode): string; export declare function resolveFieldTypeName(schema: GraphQLSchema, field: any): string | null; /** * * @param schema : GraphQLSchema * @returns : NormalizableTypes Map */ export declare function getNormalizableTypeMap(schema: GraphQLSchema): NormalizableTypes; /** * We can define TTL at RAML root level and shape level * When both are defined the shape TTL overrides root level TTL */ export declare function getShapeTtl(rootTtl: number | undefined, shapeId: string | undefined, shapeTtls: ShapeTtls | undefined): number; export declare const TYPENAME_FIELD: FieldDefinitionNode; /** * Convenience function to ensure we're always handling graphql meta fields like __typename. Query authors can ask for them! * */ export declare function getObjectFields(def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode | UnionTypeDefinitionNode): FieldDefinitionNode[];