import { AbstractCommand } from '../AbstractCommand';
import { OasSchema } from '../../openapi/models/OasSchema';
/**
 * @author eric.wittmann@gmail.com
 * @class
 * @extends AbstractCommand
 */
export declare abstract class AbstractSchemaInhCommand extends AbstractCommand {
    static TYPE_NONE: string;
    static TYPE_ALL_OF: string;
    static TYPE_ONE_OF: string;
    static TYPE_ANY_OF: string;
    /**
     * Determines the current inheritance type for the given schema.
     * @param {OasSchema} schema
     * @return {string}
     */
    static getInheritanceType(schema: OasSchema): string;
    /**
     * Creates a schema of a particular type (allOf, anyOf, etc).
     * @param {OasSchema} parentSchema
     * @param {string} inheritanceType
     * @return {OasSchema}
     */
    createSchema(parentSchema: OasSchema, inheritanceType: string): OasSchema;
    /**
     * Copies the given list of schemas to the appropriate property on the model
     * @param {*[]} schemas
     * @param {OasSchema} targetSchema
     * @param {string} inheritanceType
     */
    copySchemaJsTo(schemas: Array<any>, targetSchema: OasSchema, inheritanceType: string): void;
    constructor();
}
