import { CodegenClientConfig, ExternalGraphQLService, GenericSdkConfig } from "../types/index.mjs"; import { GraphQLSchema } from "graphql"; import { Source } from "@graphql-tools/utils"; import { LoadSchemaOptions, UnnormalizedTypeDefPointer } from "@graphql-tools/load"; //#region src/utils/client-codegen.d.ts /** * Type definition pointer for GraphQL schemas */ type GraphQLTypeDefPointer = UnnormalizedTypeDefPointer | UnnormalizedTypeDefPointer[]; /** * Options for loading GraphQL schemas */ type GraphQLLoadSchemaOptions = Partial; declare function graphQLLoadSchemaSync(schemaPointers: GraphQLTypeDefPointer, data?: GraphQLLoadSchemaOptions): Promise; /** * Load schema from external GraphQL service */ declare function loadExternalSchema(service: ExternalGraphQLService, buildDir?: string): Promise; /** * Download and save schema from external service */ declare function downloadAndSaveSchema(service: ExternalGraphQLService, buildDir: string): Promise; declare function loadGraphQLDocuments(patterns: string | string[]): Promise; declare function generateClientTypes(schema: GraphQLSchema, docs: Source[], config?: CodegenClientConfig, sdkConfig?: GenericSdkConfig, outputPath?: string, serviceName?: string, virtualTypesPath?: string, subscriptionsEnabled?: boolean): Promise; /** * Generate client types for external GraphQL service */ declare function generateExternalClientTypes(service: ExternalGraphQLService, schema: GraphQLSchema, docs: Source[], virtualTypesPath?: string): Promise<{ types: string; sdk: string; } | false>; /** * Extract subscription info from documents */ interface SubscriptionInfo { /** Original operation name from GraphQL document (used for method names) */ name: string; /** PascalCase version for type references (matches GraphQL codegen output) */ typeName: string; fieldName: string; hasVariables: boolean; } declare function extractSubscriptions(docs: Source[]): SubscriptionInfo[]; /** * Generate subscription builder code (Drizzle-style API) + Vue Composables */ declare function generateSubscriptionBuilder(docs: Source[], subscriptionsEnabled: boolean): string; //#endregion export { GraphQLLoadSchemaOptions, GraphQLTypeDefPointer, SubscriptionInfo, downloadAndSaveSchema, extractSubscriptions, generateClientTypes, generateExternalClientTypes, generateSubscriptionBuilder, graphQLLoadSchemaSync, loadExternalSchema, loadGraphQLDocuments };