import { CsdlAnnotable } from './csdl-annotation'; import { CsdlStructuredType } from './csdl-structured-type'; export declare abstract class CsdlStructuralProperty extends CsdlAnnotable { protected type: CsdlStructuredType; Name: string; Type: string; Collection: boolean; Nullable?: boolean; constructor(type: CsdlStructuredType, { Name, Type, Nullable, Annotation, }: { Name: string; Type: string; Nullable?: boolean; Annotation?: any[]; }); toJson(): { [key: string]: any; }; isEdmType(): boolean; } export declare class CsdlProperty extends CsdlStructuralProperty { protected type: CsdlStructuredType; MaxLength?: number; Precision?: number; Scale?: number; Unicode?: boolean; SRID?: string; DefaultValue?: string; constructor(type: CsdlStructuredType, { Name, Type, Nullable, MaxLength, Precision, Scale, Unicode, SRID, DefaultValue, Annotation, }: { Name: string; Type: string; Nullable?: boolean; MaxLength?: number; Precision?: number; Scale?: number; Unicode?: boolean; SRID?: string; DefaultValue?: string; Annotation?: any[]; }); toJson(): { [key: string]: any; }; } export declare class CsdlNavigationProperty extends CsdlStructuralProperty { protected type: CsdlStructuredType; Partner?: string; ContainsTarget?: boolean; ReferentialConstraints?: CsdlReferentialConstraint[]; OnDelete?: CsdlOnDelete; constructor(type: CsdlStructuredType, { Name, Type, Nullable, Partner, ContainsTarget, ReferentialConstraints, OnDelete, Annotation, }: { Name: string; Type: string; Nullable?: boolean; Partner?: string; ContainsTarget?: boolean; ReferentialConstraints?: any[]; OnDelete?: any; Annotation?: any[]; }); toJson(): { [key: string]: any; }; } export declare class CsdlReferentialConstraint { Property: string; ReferencedProperty: string; constructor({ Property, ReferencedProperty }: { Property: string; ReferencedProperty: string; }); toJson(): { Property: string; ReferencedProperty: string; }; } export declare class CsdlOnDelete { Action: string; constructor({ Action }: { Action: string; }); toJson(): { Action: string; }; }