import { ODataMetadata } from './metadata';
declare enum FieldType {
    ATTRIBUTE = 0,
    TAG = 1
}
declare class Field {
    name: string;
    fieldType: FieldType;
    constructor(name: string, fieldType: FieldType);
}
export declare class ODataMetadataParser {
    private static readonly TAG_EDMX;
    private static readonly TAG_DATA_SERVICES;
    private static readonly TAG_REFERENCE;
    private static readonly TAG_INCLUDE;
    private static readonly TAG_INCLUDE_ANNOTATIONS;
    private static readonly TAG_TERM;
    private static readonly TAG_ANNOTATIONS;
    private static readonly TAG_ANNOTATION;
    private static readonly TAG_SCHEMA;
    private static readonly TAG_ENUM_TYPE;
    private static readonly TAG_MEMBER;
    private static readonly TAG_COMPLEX_TYPE;
    private static readonly TAG_ENTITY_TYPE;
    private static readonly TAG_PROPERTY;
    private static readonly TAG_KEY;
    private static readonly TAG_PROPERTY_REF;
    private static readonly TAG_NAVIGATION_PROPERTY;
    private static readonly TAG_REFERENTIAL_CONSTRAINT;
    private static readonly TAG_ON_DELETE;
    private static readonly TAG_FUNCTION;
    private static readonly TAG_RETURN_TYPE;
    private static readonly TAG_PARAMETER;
    private static readonly TAG_ACTION;
    private static readonly TAG_ENTITY_CONTAINER;
    private static readonly TAG_ENTITY_SET;
    private static readonly TAG_SINGLETON;
    private static readonly TAG_COLLECTION;
    private static readonly TAG_RECORD;
    private static readonly TAG_STRING;
    private static readonly TAG_ENUM_MEMBER;
    private static readonly TAG_PROPERTY_VALUE;
    private static readonly TAG_PROPERTY_PATH;
    private static readonly TAG_NAVIGATION_PROPERTY_PATH;
    private static readonly TAG_FUNCTION_IMPORT;
    private static readonly TAG_ACTION_IMPORT;
    private static readonly TAG_NAVIGATION_PROPERTY_BINDING;
    private static readonly TAG_TYPE_DEFINITION;
    private static readonly ATTRIBUTE_VERSION;
    private static readonly ATTRIBUTE_URI;
    private static readonly ATTRIBUTE_ALIAS;
    private static readonly ATTRIBUTE_NAMESPACE;
    private static readonly ATTRIBUTE_TERM_NAMESPACE;
    private static readonly ATTRIBUTE_QUALIFIER;
    private static readonly ATTRIBUTE_STRING;
    private static readonly ATTRIBUTE_DATE;
    private static readonly ATTRIBUTE_BOOL;
    private static readonly ATTRIBUTE_INT;
    private static readonly ATTRIBUTE_TARGET_NAMESPACE;
    private static readonly ATTRIBUTE_TERM;
    private static readonly ATTRIBUTE_NAME;
    private static readonly ATTRIBUTE_VALUE;
    private static readonly ATTRIBUTE_BASE_TYPE;
    private static readonly ATTRIBUTE_OPEN_TYPE;
    private static readonly ATTRIBUTE_TYPE;
    private static readonly ATTRIBUTE_NULLABLE;
    private static readonly ATTRIBUTE_MAX_LENGTH;
    private static readonly ATTRIBUTE_PRECISION;
    private static readonly ATTRIBUTE_SCALE;
    private static readonly ATTRIBUTE_UNICODE;
    private static readonly ATTRIBUTE_SRID;
    private static readonly ATTRIBUTE_DEFAULT_VALUE;
    private static readonly ATTRIBUTE_PARTNER;
    private static readonly ATTRIBUTE_PROPERTY;
    private static readonly ATTRIBUTE_REFERENCED_PROPERTY;
    private static readonly ATTRIBUTE_HAS_STREAM;
    private static readonly ATTRIBUTE_CONTAINS_TARGET;
    private static readonly ATTRIBUTE_IS_BOUND;
    private static readonly ATTRIBUTE_ENTITY_SET_PATH;
    private static readonly ATTRIBUTE_IS_COMPOSABLE;
    private static readonly ATTRIBUTE_ENTITY_TYPE;
    private static readonly ATTRIBUTE_PATH;
    private static readonly ATTRIBUTE_TARGET;
    private static readonly ATTRIBUTE_FUNCTION;
    private static readonly ATTRIBUTE_ACTION;
    private static readonly ATTRIBUTE_ENTITY_SET;
    private static readonly ATTRIBUTE_INCLUDE_IN_SERVICE_DOCUMENT;
    private static readonly ATTRIBUTE_ABSTRACT;
    private static readonly ATTRIBUTE_UNDERLYING_TYPE;
    private static readonly ATTRIBUTE_IS_FLAGS;
    private static readonly ATTRIBUTE_EXTENDS;
    private static readonly ATTRIBUTE_BASE_TERM;
    private static readonly ATTRIBUTE_APPLIES_TO;
    readonly document: Document;
    constructor(source: string);
    metadata(): ODataMetadata;
    protected checkVersion(): void;
    protected getObjects(parentElement: Element, tag: string, fieldNames: Field[]): any[];
    protected getObject(parentElement: Element, tag: string, fieldNames: Field[]): any;
    protected getFieldValues(fields: Field[], attributes: NamedNodeMap, element: Element): {
        [name: string]: any;
    };
    protected getFieldValueByAttribute(field: Field, attributes: NamedNodeMap): any;
    protected getFieldValueByTag(field: Field, element: Element): any[];
    protected getAttributeValue(attributes: NamedNodeMap, attributeName: string): string | undefined;
    protected propertyValueToNumber(attributeValue?: string): number | undefined;
    protected propertyValueToBoolean(attributeValue?: string): boolean;
    protected propertyValueToDate(attributeValue?: string): Date | undefined;
}
export {};
