import { ApiDefinitions, AmfShapes } from '@api-client/core/build/browser.js';
/**
 * Computes a data model for custom definition for the OAuth 2 scheme
 * According to the annotation published at
 * https://github.com/raml-org/raml-annotations/tree/master/annotations/security-schemes
 */
export declare class Oauth2RamlCustomData {
    readParams(properties: {
        [key: string]: AmfShapes.IApiDataNodeUnion;
    }): ApiDefinitions.IApiParameter[];
    /**
     * Creates an ApiDefinitions.IApiParameter for an annotation that has properties.
     * This expects the properties to be defined like RAML's type definition.
     */
    getProperty(definition: AmfShapes.IApiObjectNode): ApiDefinitions.IApiParameter;
    /**
     * Creates an ApiDefinitions.IApiParameter for an annotation that has no properties but rather a simplified
     * notation of `propertyName: dataType`.
     */
    getPropertyScalar(definition: AmfShapes.IApiScalarNode): ApiDefinitions.IApiParameter;
    readSchema(property: AmfShapes.IApiObjectNode): AmfShapes.IShapeUnion | undefined;
    createTypedSchema(type: string, object: AmfShapes.IApiObjectNode): AmfShapes.IShapeUnion | undefined;
    createSchema(): AmfShapes.IApiShape;
    createScalarSchema(object: AmfShapes.IApiObjectNode, type: string): AmfShapes.IApiScalarShape;
    /**
     * @param object
     * @param items The definition of the `items` property that corresponds to RAML's items property of an array
     */
    readSchemaType(object: AmfShapes.IApiScalarNode, items?: AmfShapes.IApiScalarNode): string;
    typeToSchemaType(type: string): string;
    /**
     * Checks whether the custom property represents an array.
     * @param type
     * @param items The definition of the `items` property that corresponds to RAML's items property of an array
     * @returns True when the schema is an array.
     */
    readIsSchemaArray(type: AmfShapes.IApiScalarNode, items: AmfShapes.IApiScalarNode): boolean;
}
//# sourceMappingURL=Oauth2RamlCustomData.d.ts.map