import { DeukPackAST, DeukPackStruct } from '../../types/DeukPackTypes'; import { CodegenTemplateHost } from '../codegenTemplateHost'; export interface CSharpStructContext { tpl: CodegenTemplateHost; renderCSharpTpl: (relPath: string, values: Record) => string; isTableRowType: (struct: DeukPackStruct, ast: DeukPackAST) => boolean; isStructType: (type: string, ast: DeukPackAST, ns: string) => boolean; isStructCSharpType: (csharpType: string, ast: DeukPackAST) => boolean; isEnumType: (type: string, ast: DeukPackAST, ns: string) => boolean; isPrimitiveType: (type: string, ast: DeukPackAST, ns: string) => boolean; isGeometryDeukStruct: (type: string, ast: DeukPackAST, ns: string) => boolean; getCSharpDefaultValue: (val: any, type: any, ast: DeukPackAST, ns?: string) => string; resolveTypeToFullName: (type: string, ns: string | undefined, ast: DeukPackAST) => string; findStruct: (ast: DeukPackAST, fullName: string, currentNs: string) => DeukPackStruct | undefined; dictToCSharpAnnotations: (ann: any) => string; getGenOptions?: () => any; } export declare class CSharpStructGenerator { ctx: CSharpStructContext; constructor(ctx: CSharpStructContext); generateStruct(struct: DeukPackStruct, ast: DeukPackAST, currentNamespace?: string, emitOpts?: { csharpClassName: string; wireSchemaName: string; }): string[]; private generateField; private generateCodecWriteStmt; private generateCodecReadStmt; private generateWriteUnifiedInner; private generateReadField; private generateCloneField; private generateToStringField; private getFieldDefaultExpression; private generateCreateDefaultRhs; private generateEnsureNestedDefaults; private collectKeyFieldNamesFromDeukFieldKeys; private generateGeometryStruct; } //# sourceMappingURL=CSharpStructGenerator.d.ts.map