import { type Metadata } from "../common/Metadata.js";
import { type Path } from "../common/Path.js";
import { type Ref } from "../common/Ref.js";
/** Copyright Super iPaaS Integration LLC, an IBM Company 2024 */
export interface Api {
    kind?: string | undefined;
    /** common metadata to identify a specific asset in the files */
    metadata?: Metadata | undefined;
    spec?: Api_Spec | undefined;
    kindEnum?: Api_KindEnums | undefined;
    apiVersion?: string | undefined;
}
/** Kind id supported for api */
export declare enum Api_KindEnums {
    API = "API"
}
/** The Spec is used to define the list of api specification, scopes and policy sequences */
export interface Api_Spec {
    /**
     * Field 'api_spec' with JSON name 'api-spec' accepts the value of either 'api_spec' or 'api-spec' from the YAML file.
     * If both 'api_spec' and 'api-spec' are specified, the value of 'api-spec' takes priority.
     * Single instance of api_spec can be given with JSON name "api-spec"
     */
    "api-spec"?: Path | undefined;
    /** Multiple instances of scopes can be given */
    scopes?: Ref[] | undefined;
    /**
     * Field 'policy_seq' with JSON name 'policy-seq' accepts the value of either 'policy_seq' or 'policy-seq' from the YAML file.
     * If both 'policy_seq' and 'policy-seq' are specified, the value of 'policy-seq' takes priority.
     * Multiple instances of policy sequences can be given with JSON name "policy-seq".
     */
    "policy-sequence"?: Ref[] | undefined;
    /** Field mock accepts true/false, which identifies the deploying API to be mocked or invoke the actual downstream application */
    mocked?: boolean | undefined;
}
//# sourceMappingURL=Api.d.ts.map