/** * @example * { * manifest: { * version: "1.0", * rules: [{ * "name": "Pricing Rule", * "slug": "pricing-rule" * }], * flows: [{ * "name": "Onboarding Flow", * "slug": "onboarding-flow" * }], * entities: [{ * "name": "Customer", * "slug": "customer" * }], * values: [{ * "name": "tax_rate", * "value": 0.08 * }] * }, * conflict_strategy: "update" * } */ export interface ImportManifestRequest { /** The RBM manifest object containing assets to import. Asset objects inside the manifest intentionally preserve `.rbm`/database casing so exported manifests can be imported without rewriting asset payloads. */ manifest: ImportManifestRequest.Manifest; /** How to handle conflicts with existing assets. 'update' overwrites, 'skip' ignores, 'error' fails. */ conflict_strategy?: ImportManifestRequest.ConflictStrategy; /** Optional folder name to place imported assets into. Created if it doesn't exist. */ target_folder_name?: string; /** Optional mapping for legacy flow imports to reuse existing rules. */ legacy_rule_mapping?: Record; } export declare namespace ImportManifestRequest { /** * The RBM manifest object containing assets to import. Asset objects inside the manifest intentionally preserve `.rbm`/database casing so exported manifests can be imported without rewriting asset payloads. */ interface Manifest { /** Manifest format version. */ version?: string | undefined; /** Rules to import. */ rules?: Record[] | undefined; /** Flows to import. */ flows?: Record[] | undefined; /** Contexts to import. */ entities?: Record[] | undefined; /** Dynamic values to import. */ values?: Record[] | undefined; } /** How to handle conflicts with existing assets. 'update' overwrites, 'skip' ignores, 'error' fails. */ const ConflictStrategy: { readonly Update: "update"; readonly Skip: "skip"; readonly Error: "error"; }; type ConflictStrategy = (typeof ConflictStrategy)[keyof typeof ConflictStrategy]; namespace LegacyRuleMapping { interface Value { action?: Value.Action | undefined; rule_id?: string | undefined; } namespace Value { const Action: { readonly Reuse: "reuse"; readonly Create: "create"; }; type Action = (typeof Action)[keyof typeof Action]; } } }