import * as t from '@babel/types'; import { OpenAPIPathItem, OpenAPISpec, Operation, Parameter, Response } from './openapi.types'; import { OpenAPIOptions } from './types'; export declare const getApiTypeNameSafe: (options: OpenAPIOptions, str: string) => string; interface GVKInfo { group: string; version: string; kind: string; } export declare const generateTypeNameFromGVK: (gvk: GVKInfo, options: OpenAPIOptions) => string; export declare const generateQualifiedTypeName: (gvk: GVKInfo, options: OpenAPIOptions) => string; export declare const getOperationReturnType: (options: OpenAPIOptions, operation: Operation, method: string, interfaceRenameMap?: { [key: string]: string; }) => t.TSAnyKeyword | t.TSBooleanKeyword | t.TSNullKeyword | t.TSNumberKeyword | t.TSStringKeyword | t.TSVoidKeyword | t.TSTypeReference; export declare const getResponseType: (options: OpenAPIOptions, prop: Response, interfaceRenameMap?: { [key: string]: string; }) => t.TSAnyKeyword | t.TSBooleanKeyword | t.TSNullKeyword | t.TSNumberKeyword | t.TSStringKeyword | t.TSTypeReference; export declare const getParameterType: (options: OpenAPIOptions, prop: Parameter, interfaceRenameMap?: { [key: string]: string; }) => t.TSAnyKeyword | t.TSBooleanKeyword | t.TSNullKeyword | t.TSNumberKeyword | t.TSStringKeyword | t.TSTypeReference; interface ParameterInterfaces { query: Parameter[]; header: Parameter[]; path: Parameter[]; formData: Parameter[]; body: Parameter[]; } interface OpParameterInterfaces { pathLevel: ParameterInterfaces; get: ParameterInterfaces; post: ParameterInterfaces; put: ParameterInterfaces; delete: ParameterInterfaces; options: ParameterInterfaces; head: ParameterInterfaces; patch: ParameterInterfaces; } export declare function generateOpenApiParams(options: OpenAPIOptions, schema: OpenAPISpec, path: string, pathItem: OpenAPIPathItem, interfaceRenameMap?: { [key: string]: string; }): t.TSInterfaceDeclaration[]; export declare function getOpenApiParams(options: OpenAPIOptions, schema: OpenAPISpec, path: string, pathItem: OpenAPIPathItem): OpParameterInterfaces; export declare function generateOpenApiTypes(options: OpenAPIOptions, schema: OpenAPISpec, interfaceRenameMap?: { [key: string]: string; }): t.ExportNamedDeclaration[]; export declare const createOperation: (options: OpenAPIOptions, schema: OpenAPISpec, operation: Operation, path: string, method: string, alias?: string, interfaceRenameMap?: { [key: string]: string; }) => t.ClassMethod; export declare function generateMethods(options: OpenAPIOptions, schema: OpenAPISpec, interfaceRenameMap?: { [key: string]: string; }): t.ClassMethod[]; export declare const getSwaggerJSONMethod: () => t.ClassMethod; export declare function generateOpenApiClient(options: OpenAPIOptions, schema: OpenAPISpec): string; export interface HookFile { fileName: string; code: string; } export interface HookComponent { importDecls: t.ImportDeclaration[]; funcDecl: t.ExportNamedDeclaration; constDecls: t.VariableDeclaration[]; } /** * Collect raw AST components (imports + function) for each hook */ export declare function collectReactQueryHookComponents(options: OpenAPIOptions, schema: OpenAPISpec): HookComponent[]; /** * Generate final HookFile entries by grouping imports and rendering all hooks together */ export declare function generateReactQueryHooks(options: OpenAPIOptions, schema: OpenAPISpec): string; export {};