import type { ObjectTypeDefinitionNode, InterfaceTypeDefinitionNode, TypeNode, UnionTypeDefinitionNode } from '@luvio/graphql-parser'; import type { GraphQLCodegenMetadata } from '../source-printer/graphql-source-printer'; import type { ImportContext } from '../../../utils/imports'; import type { LuvioGraphQLDSL } from '../../../intermediate/graphql'; export declare const TYPE_INTERFACE_IDENTIFIER = "Interface"; export declare const TYPE_NAME_IDENTIFIER = "__typename"; export declare const MINIMUM_INTERFACE_IDENTIFIER: string; export declare const PARTIAL_INTERFACE_IDENTIFIER: string; export declare function generateTypeReference(type: TypeNode, importContext: ImportContext, scalarToPrimitiveMap: Record, state: { required: boolean; array: boolean; }): string; export declare function getMinimumFieldNames(def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode | UnionTypeDefinitionNode): string[]; export declare function generateInterface(def: ObjectTypeDefinitionNode, importContext: ImportContext, scalarToPrimitiveMap: Record): string; export declare function generateInterfaces(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, metadata: GraphQLCodegenMetadata): string;