import ts from 'typescript';
import { NativeTypeCodegenDescriptor } from '@il2js/core';
import type { Il2CppTypeDefinitionInfo, Il2CppTypeInfo } from '../../../Types';
import { CodegenContext } from '../../CodegenContext';
export declare function findKnownType(type: Il2CppTypeInfo, context: CodegenContext): NativeTypeCodegenDescriptor | undefined;
export declare function isTypeUsable(type: Il2CppTypeInfo, context: CodegenContext): boolean;
export declare function fixupType(typeDef: Il2CppTypeInfo): Il2CppTypeInfo;
export declare function visitType(typeDef: Il2CppTypeInfo, context: CodegenContext): Il2CppTypeInfo | undefined;
export declare function visitClass(typeDef: Il2CppTypeDefinitionInfo, context: CodegenContext): Il2CppTypeDefinitionInfo | undefined;
export declare function generateClass(typeDef: Il2CppTypeDefinitionInfo, context: CodegenContext): ts.ClassDeclaration | undefined;
