import { EntityType, EntitySet, ComplexType, Association, EnumType, EntityTypeProperty, ActionType, FunctionType, FunctionParameterType } from "./EdmxTypes"; import { Dictionary, StructuralProperty } from "cdsify"; import { TypeScriptType, TypeScriptTypes } from "./TypeScriptType"; import { CdsifyOptions } from "./MetadataGeneratorConfig"; import { ComplexEntityMetadata } from "./cds-generated/complextypes/ComplexEntityMetadata"; export declare class SchemaGenerator { options: CdsifyOptions; EntityTypes: EntityType[]; EntitySet: EntitySet[]; ComplexTypes: ComplexType[]; Association: Association[]; EnumTypes: EnumType[]; Functions: FunctionType[]; Actions: ActionType[]; Metadata: { [key: string]: any; }; _entityTypeIndex: Dictionary; _enums: Dictionary; _loadWebApiMetadata?: (logicalName: string) => Promise; private _metadataJson; constructor(schemaXml: string, options?: CdsifyOptions, loadWebApiMetadata?: (logicalName: string) => Promise); generate(): Promise; private setTypeScriptTypes; updateMappedComplexTypeNames(): void; mapTypeName(typeName: string): string; addEntityMetadata(): Promise; getParameterTypeScriptType(param: FunctionParameterType): TypeScriptType[] | undefined; structuralPropertyToString(value: StructuralProperty): string; resolveTypeToImportLocation(typeName: string, outputType: TypeScriptTypes): string | undefined; resolveToEntityType(logicalName: string): string | undefined; resolveToComplexType(logicalName: string): string; resolveToEnumType(logicalName: string): string | undefined; getStructuralType(param: FunctionParameterType): StructuralProperty; trimEnd(value: string, char: string): string; getTypeScriptType(property: EntityTypeProperty): TypeScriptType; lastValue(arrayValue: T[]): T; addEnum(options: any, entity: ComplexEntityMetadata): EnumType; filter(): void; makeCodeSafe(name: string): string; isNumeric(s: any): boolean; getReferencedType(fullType: string): string; getShortType(fullType: string): string; addComplexTypeReferences(complexType: ComplexType): void; setEntitySetName(): void; isCollection(typeValue?: string): boolean; removeCollection(typeValue: string): string; readEntitySets(): void; readComplexTypes(): void; readEnums(): void; readFunctions(): void; readFunction(functionType: FunctionType, item: any): void; readActions(): void; readEntityTypes(): void; private getProperties; private getNavigation; private getNavigationName; }