/** * Agilicus API * Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). * * The version of the OpenAPI document: 2025.12.16 * Contact: dev@agilicus.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { RuleSetComponent } from './ruleSetComponent'; import { RuleConfig } from './ruleConfig'; export interface _RulesConfig { /** * The list of rules associated with this resource. */ rules?: Array; /** * A list of RuleSetComponents which build a forest of RuleSet trees. Each node of a RuleSet contains a single RuleConfig, and a list of child RuleSets. RuleSets evaluate top down, using a preorder depth first search. Child rules will only be evaluated if the containing rule\'s condition evaluates to true. At that point, they will be evaluated in priority order. Actions taken by child rules will be evaluated in order, after any actions added by the containing rule. All child rules of a parent rule are evaluated regardless of whether or not they are assigned to a role applicable to the evaluation context. For example, if a user has role X, rule A is in role X, and has child rule B which is in role Y, evaluation of rule A will also evaluate rule B (if necessary), despite rule B not independently being part of role X. If a containing rule and a child rule have roles in common, they will only be evaluated once in the context of the outermost containing role. This allows rules to be applied to roles independently when necessary, while deterministically defining the rule evaluation. A RuleSet MUST be a tree. Thus, there can be no cycles within the structure: no rule may refer to itself, and no child rule can refer to an ancestor rule. */ rule_set_components?: Array; } export interface RulesConfig extends _RulesConfig { _builtin_original?: _RulesConfig; _remove_builtin_extensions?: () => void; } export declare class RulesConfigImpl implements _RulesConfig { _builtin_original?: _RulesConfig; rules: Array | undefined; rule_set_components: Array | undefined; constructor(base: _RulesConfig); _remove_builtin_extensions(): void; } export declare function newRulesConfigImpl(base: _RulesConfig): RulesConfigImpl;