import { AbstractDataServiceAdapter } from './abstract-data-service-adapter';
import { assertParam, assertConfig, Param } from './assert-param';
import { BreezeConfig } from './config';
import { BreezeEnum } from './enum';
import { BreezeEvent } from './event';
import { ComplexArray } from './complex-array';
import { DataService, DataServiceConfig, JsonResultsAdapter, JsonResultsAdapterConfig, NodeContext, NodeMeta } from './data-service';
import { DataType } from './data-type';
import { EntityAction } from './entity-action';
import { EntityAspect, ComplexAspect, Entity, ComplexObject, StructuralObject, PropertyChangedEventArgs } from './entity-aspect';
import { EntityKey } from './entity-key';
import { EntityManager, EntityManagerConfig, EntityError, EntityChangedEventArgs, SaveContext, SaveBundle, HttpResponse, KeyMapping, ServerError, SaveResult, QueryResult, ValidationErrorsChangedEventArgs, HasChangesChangedEventArgs } from './entity-manager';
import { EntityQuery, FilterQueryOp, BooleanQueryOp, OrderByClause, ExpandClause, SelectClause } from './entity-query';
import { EntityState } from './entity-state';
import { InterfaceRegistry, AjaxAdapter, AjaxConfig, DataServiceAdapter, ModelLibraryAdapter, ChangeRequestInterceptor, UriBuilderAdapter, InterfaceRegistryConfig, AjaxRequestInterceptor } from './interface-registry';
import { KeyGenerator } from './key-generator';
import { LocalQueryComparisonOptions } from './local-query-comparison-options';
import { MappingContext } from './mapping-context';
import { MetadataStore, EntityType, ComplexType, StructuralType, DataProperty, EntityProperty, NavigationProperty, AutoGeneratedKeyType } from './entity-metadata';
import { NamingConvention } from './naming-convention';
import { Predicate, VisitContext, Visitor, ExpressionContext, UnaryPredicate, BinaryPredicate, AnyAllPredicate, AndOrPredicate, LitExpr, FnExpr, PropExpr } from './predicate';
import { QueryOptions, FetchStrategy, MergeStrategy } from './query-options';
import { SaveOptions } from './save-options';
import { ValidationError, Validator } from './validate';
import { ValidationOptions } from './validation-options';
import { config, BaseAdapter } from './config';
import { core, Callback, ErrorCallback } from './core';
import { makeRelationArray, makePrimitiveArray, makeComplexArray } from './array';
import { RelationArray } from './relation-array';
import { ArrayChangedArgs } from './observable-array';
export { BreezeConfig, ComplexArray, RelationArray };
export { AbstractDataServiceAdapter, AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, AndOrPredicate, AnyAllPredicate, ArrayChangedArgs, assertConfig, assertParam, AutoGeneratedKeyType, BaseAdapter, BinaryPredicate, BreezeEnum, BreezeEvent, Callback, ChangeRequestInterceptor, ComplexAspect, ComplexObject, ComplexType, config, core, DataProperty, DataService, DataServiceAdapter, DataServiceConfig, DataType, Entity, EntityAction, EntityAspect, EntityChangedEventArgs, EntityError, EntityKey, EntityManager, EntityManagerConfig, EntityProperty, EntityQuery, EntityState, EntityType, ErrorCallback, ExpandClause, ExpressionContext, FetchStrategy, FilterQueryOp, FnExpr, HasChangesChangedEventArgs, HttpResponse, InterfaceRegistry, InterfaceRegistryConfig, JsonResultsAdapter, JsonResultsAdapterConfig, KeyGenerator, KeyMapping, LitExpr, LocalQueryComparisonOptions, makeComplexArray, makePrimitiveArray, makeRelationArray, MappingContext, MergeStrategy, MetadataStore, ModelLibraryAdapter, NamingConvention, NavigationProperty, NodeContext, NodeMeta, OrderByClause, Predicate, PropertyChangedEventArgs, PropExpr, QueryOptions, QueryResult, SaveBundle, SaveContext, SaveOptions, SaveResult, SelectClause, ServerError, StructuralObject, StructuralType, UnaryPredicate, UriBuilderAdapter, ValidationErrorsChangedEventArgs, ValidationError, ValidationOptions, Validator, VisitContext, Visitor, };
export declare const breeze: {
    AbstractDataServiceAdapter: typeof AbstractDataServiceAdapter;
    assertConfig: any;
    assertParam: any;
    AutoGeneratedKeyType: typeof AutoGeneratedKeyType;
    BooleanQueryOp: typeof BooleanQueryOp;
    ComplexAspect: typeof ComplexAspect;
    ComplexType: typeof ComplexType;
    config: BreezeConfig;
    core: {
        isES5Supported: boolean;
        hasOwnProperty: (obj: Object, key: string) => boolean;
        getOwnPropertyValues: (source: Object) => any[];
        getPropertyDescriptor: (obj: Object, propertyName: string) => PropertyDescriptor;
        objectForEach: (obj: Object, kvFn: (key: string, val: any) => any) => void;
        objectFirst: (obj: Object, kvPredicate: (key: string, val: any) => boolean) => {
            key: string;
            value: any;
        };
        objectMap: (obj: Object, kvFn?: (key: string, val: any) => any) => any[];
        extend: (target: Object, source: Object, propNames?: string[]) => Object;
        propEq: (propertyName: string, value: any) => (obj: Object) => boolean;
        propsEq: (property1Name: string, property2Name: string, value: any) => (obj: Object) => boolean;
        pluck: (propertyName: any) => (obj: Object) => any;
        map: <T>(items: T | T[], fn: (v: T, ix?: number) => any, includeNull?: boolean) => any;
        resolveProperties: (sources: Object[], propertyNames: string[]) => any;
        setAsDefault: (target: Object, ctor: {
            new (...args: any[]): any;
            defaultInstance?: any;
        }) => any;
        updateWithDefaults: (target: Object, defaults: Object) => any;
        getArray: (source: Object, propName: string) => any[];
        toArray: (item: any) => any[];
        arrayEquals: (a1: any[], a2: any[], equalsFn?: (x1: any, x2: any) => boolean) => boolean;
        arraySlice: (ar: any[], start?: number, end?: number) => any[];
        arrayFirst: <T_1>(array: T_1[], predicate: (i: any) => boolean) => T_1;
        arrayIndexOf: <T_2>(array: T_2[], predicate: (i: any) => boolean) => number;
        arrayRemoveItem: <T_3>(array: T_3[], predicateOrItem: T_3 | ((i: T_3) => boolean), shouldRemoveMultiple?: boolean) => boolean;
        arrayZip: (a1: any[], a2: any[], callback: (x1: any, x2: any) => any) => any[];
        arrayAddItemUnique: <T_4>(array: T_4[], item: T_4) => void;
        arrayFlatMap: <T_5, U>(arr: T_5[], mapFn: (arg: T_5) => U[]) => U[];
        requireLib: (libNames: string, errMessage?: string) => any;
        using: (obj: Object, property: string, tempValue: any, fn: () => any) => any;
        wrapExecution: (startFn: () => any, endFn: (state: any) => any, fn: () => any) => any;
        memoize: (fn: any) => any;
        getUuid: () => string;
        durationToSeconds: (duration: string) => number;
        isSettable: (obj: Object, propertyName: string) => boolean;
        isDate: (o: any) => boolean;
        isDateString: (s: string) => boolean;
        isGuid: (value: any) => boolean;
        isDuration: (value: any) => boolean;
        isFunction: (o: any) => boolean;
        isEmpty: (obj: any) => boolean;
        isNumeric: (n: any) => boolean;
        identity: (x: any) => any;
        noop: () => void;
        stringStartsWith: (str: string, prefix: string) => boolean;
        stringEndsWith: (str: string, suffix: string) => boolean;
        formatString: (str: string, ...params: any[]) => string;
        titleCase: (text: string) => string;
        toJson: (source: Object, template: Object, target?: Object) => Object;
        toJSONSafe: (obj: any, replacer?: (prop: string, value: any) => any) => any;
        toJSONSafeReplacer: (prop: string, val: any) => any;
        strings: {
            TO_TYPE: string;
        };
    };
    DataProperty: typeof DataProperty;
    DataService: typeof DataService;
    DataType: typeof DataType;
    EntityAction: typeof EntityAction;
    EntityAspect: typeof EntityAspect;
    EntityKey: typeof EntityKey;
    EntityManager: typeof EntityManager;
    EntityQuery: typeof EntityQuery;
    EntityState: typeof EntityState;
    EntityType: typeof EntityType;
    Event: typeof BreezeEvent;
    FetchStrategy: typeof FetchStrategy;
    FilterQueryOp: typeof FilterQueryOp;
    InterfaceRegistry: typeof InterfaceRegistry;
    JsonResultsAdapter: typeof JsonResultsAdapter;
    KeyGenerator: typeof KeyGenerator;
    LocalQueryComparisonOptions: typeof LocalQueryComparisonOptions;
    makeComplexArray: typeof makeComplexArray;
    makePrimitiveArray: typeof makePrimitiveArray;
    makeRelationArray: typeof makeRelationArray;
    MergeStrategy: typeof MergeStrategy;
    MetadataStore: typeof MetadataStore;
    NamingConvention: typeof NamingConvention;
    NavigationProperty: typeof NavigationProperty;
    OrderByClause: typeof OrderByClause;
    Param: typeof Param;
    Predicate: typeof Predicate;
    QueryOptions: typeof QueryOptions;
    SaveOptions: typeof SaveOptions;
    ValidationError: typeof ValidationError;
    ValidationOptions: typeof ValidationOptions;
    Validator: typeof Validator;
    version: string;
};
export declare namespace promises {
    /** no-op for backward compatibility with breeze-bridge2-angular */
    interface IPromiseService {
    }
}
