import { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { RequestArgs, BaseAPI } from './base';
import { Configuration } from '../../domain';
import { Enum, Source, Entity, EntityMapping, Mapping, Stage, Schema, DomainSchema } from 'lambdaorm-base';
/**
 * SchemaApi - axios parameter creator
 * @export
 */
export declare const SchemaApiAxiosParamCreator: (configuration: Configuration) => {
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    version: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    schema: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    domain: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    views: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {string} _enum
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    _enum: (_enum: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    sources: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {string} source
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    source: (source: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entities: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {string} entity
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entity: (entity: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {string} mapping
         * @param {string} entity
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entityMapping: (mapping: string, entity: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    enums: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {string} mapping
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    mapping: (mapping: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    mappings: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {string} stage
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    stage: (stage: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    stages: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
* SchemaApi - functional programming interface
* @export
*/
export declare const SchemaApiFp: (configuration: Configuration) => {
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    version(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{
        version: string;
    }>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    schema(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Schema>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    domain(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DomainSchema>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    views(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<string>>>;
    /**
         *
         * @param {string} _enum
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    _enum(_enum: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Enum>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    sources(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Source>>>;
    /**
         *
         * @param {string} source
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    source(source: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Source>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entities(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Entity>>>;
    /**
         *
         * @param {string} entity
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entity(entity: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Entity>>;
    /**
         *
         * @param {string} mapping
         * @param {string} entity
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entityMapping(mapping: string, entity: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EntityMapping>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    enums(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Enum>>>;
    /**
         *
         * @param {string} mapping
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    mapping(mapping: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Mapping>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    mappings(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Mapping>>>;
    /**
         *
         * @param {string} stage
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    stage(stage: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Stage>>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    stages(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Stage>>>;
};
/**
* SchemaApi - factory interface
* @export
*/
export declare const SchemaApiFactory: (configuration: Configuration, axios?: AxiosInstance) => {
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    version(options?: any): AxiosPromise<{
        version: string;
    }>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    schema(options?: any): AxiosPromise<Schema>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    domain(options?: any): AxiosPromise<DomainSchema>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    views(options?: any): AxiosPromise<Array<string>>;
    /**
         *
         * @param {string} _enum
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    _enum(_enum: string, options?: any): AxiosPromise<Enum>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    sources(options?: any): AxiosPromise<Array<Source>>;
    /**
         *
         * @param {string} source
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    source(source: string, options?: any): AxiosPromise<Source>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entities(options?: any): AxiosPromise<Array<Entity>>;
    /**
         *
         * @param {string} entity
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entity(entity: string, options?: any): AxiosPromise<Entity>;
    /**
         *
         * @param {string} mapping
         * @param {string} entity
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    entityMapping(mapping: string, entity: string, options?: any): AxiosPromise<EntityMapping>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    enums(options?: any): AxiosPromise<Array<Enum>>;
    /**
         *
         * @param {string} mapping
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    mapping(mapping: string, options?: any): AxiosPromise<Mapping>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    mappings(options?: any): AxiosPromise<Array<Mapping>>;
    /**
         *
         * @param {string} stage
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    stage(stage: string, options?: any): AxiosPromise<Stage>;
    /**
         *
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
    stages(options?: any): AxiosPromise<Array<Stage>>;
};
/**
* SchemaApi - object-oriented interface
* @export
* @class SchemaApi
* @extends {BaseAPI}
*/
export declare class SchemaApi extends BaseAPI {
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    version(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<{
        version: string;
    }, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    schema(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Schema, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    domain(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DomainSchema, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    views(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<string[], any>>;
    /**
     *
     * @param {string} _enum
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    _enum(_enum: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Enum, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    sources(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Source[], any>>;
    /**
     *
     * @param {string} source
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    source(source: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Source, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    entities(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Entity[], any>>;
    /**
     *
     * @param {string} entity
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    entity(entity: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Entity, any>>;
    /**
     *
     * @param {string} mapping
     * @param {string} entity
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    entityMapping(mapping: string, entity: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<EntityMapping, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    enums(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Enum[], any>>;
    /**
     *
     * @param {string} mapping
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    mapping(mapping: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Mapping, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    mappings(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Mapping[], any>>;
    /**
     *
     * @param {string} stage
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    stage(stage: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Stage, any>>;
    /**
     *
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SchemaApi
     */
    stages(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Stage[], any>>;
}
