import { type Metadata } from "../common/Metadata.js";
/** Copyright Super iPaaS Integration LLC, an IBM Company 2024 */
/** The message identifies the scope */
export interface Scope {
    kind?: string | undefined;
    /** common metadata to identify a specific asset in the files */
    metadata?: Metadata | undefined;
    spec?: Scope_Spec | undefined;
    kindEnum?: Scope_KindEnums | undefined;
    apiVersion?: string | undefined;
}
/** Kind id supported for scope */
export declare enum Scope_KindEnums {
    Scope = "Scope"
}
/** The Spec is used to define the list of resources, policies and policy sequences */
export interface Scope_Spec {
    /** Multiple instances of resources can be given */
    resources?: Scope_Spec_Resources[] | 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"?: Scope_Spec_PolicySequence[] | undefined;
}
/** The message specifies the references for the policies */
export interface Scope_Spec_PolicySequence {
    /**
     * Field 'ref' with JSON name '$ref' accepts the value of either 'ref' or '$ref' from the YAML file.
     * If both 'ref' and '$ref' are specified, the value of '$ref' takes priority.
     */
    $ref?: string | undefined;
}
/** Multiple instances of methods for each resource can be given */
export interface Scope_Spec_Resources {
    path?: string | undefined;
    methods?: string[] | undefined;
}
//# sourceMappingURL=Scope.d.ts.map