import { CsdlTerm, CsdlAnnotations } from './csdl-annotation';
import { CsdlTypeDefinition } from './csdl-type-definition';
import { CsdlEnumType } from './csdl-enum-type';
import { CsdlEntityType, CsdlComplexType } from './csdl-structured-type';
import { CsdlFunction, CsdlAction } from './csdl-function-action';
import { CsdlEntityContainer } from './csdl-entity-container';
import { SchemaConfig } from '../../types';
export declare class CsdlSchema {
    Namespace: string;
    Alias?: string;
    EnumType?: CsdlEnumType[];
    ComplexType?: CsdlComplexType[];
    EntityType?: CsdlEntityType[];
    Function?: CsdlFunction[];
    Action?: CsdlAction[];
    EntityContainer?: CsdlEntityContainer[];
    TypeDefinition?: CsdlTypeDefinition[];
    Term?: CsdlTerm[];
    Annotations?: CsdlAnnotations[];
    constructor({ Namespace, Alias, EnumType, ComplexType, EntityType, Function, Action, EntityContainer, TypeDefinition, Term, Annotations, }: {
        Namespace: string;
        Alias?: string;
        EnumType?: any[];
        ComplexType?: any[];
        EntityType?: any[];
        Function?: any[];
        Action?: any[];
        EntityContainer?: any[];
        TypeDefinition?: any[];
        Term?: any[];
        Annotations?: any[];
    });
    toJson(): {
        [key: string]: any;
    };
    toConfig(base?: Partial<SchemaConfig>): SchemaConfig;
}
