import { ODataApi } from '../api';
import { ParserOptions, SchemaConfig, StructuredTypeConfig } from '../types';
import { ODataAnnotatable } from './annotation';
import { ODataCallable } from './callable';
import { ODataEntityContainer } from './entity-container';
import { ODataEntitySet } from './entity-set';
import { ODataEnumType } from './enum-type';
import { ODataSingleton } from './singleton';
import { ODataStructuredType } from './structured-type';
export declare class ODataSchema extends ODataAnnotatable {
    api: ODataApi;
    namespace: string;
    alias?: string;
    enums: ODataEnumType<any>[];
    entities: ODataStructuredType<any>[];
    callables: ODataCallable<any>[];
    containers: ODataEntityContainer[];
    constructor(config: SchemaConfig, api: ODataApi);
    isNamespaceOf(type: string): boolean;
    get entitySets(): ODataEntitySet[];
    get singletons(): ODataSingleton[];
    createStructuredType<T>(config: StructuredTypeConfig): ODataStructuredType<T>;
    configure({ options }: {
        options: ParserOptions;
    }): void;
}
