import ts from 'typescript';
import type { Il2JsonFile, Il2CppTypeDefinitionInfo, ITypeRegistry, Il2JsConfig } from '../..';
export interface Namespace {
    name: string;
    childNamespaces: Namespace[];
    childTypes: Il2CppTypeDefinitionInfo[];
}
export declare function groupStructsByNamespace(typeDefs: Il2CppTypeDefinitionInfo[]): Namespace;
export declare function processNestedStructs(structs: Il2CppTypeDefinitionInfo[]): Il2CppTypeDefinitionInfo[];
export declare function generateFileAsync({ TypeInfoList, TypeNameToStaticMethods }: Il2JsonFile, assembly: string, version: string, types: ITypeRegistry, opts: Il2JsConfig, progressCallback?: (n: number, m: number, label: string, item?: Il2CppTypeDefinitionInfo) => void): Promise<ts.Node[]>;
