import type { RipplingSDK } from "../../../client.mjs"; import type { CustomObjectCategoryDefinition, CustomObjectCategoryMutationOptions, ProvisionedCustomObjectCategory, ReconciledCustomObjectCategory } from "./category.mjs"; import type { AnyCustomObjectDefinition, FieldNames, LogicalCategoryName } from "./types.mjs"; import type { ProvisionCustomObjectOptions, ProvisionCustomObjectsOptions, ProvisionableFieldParams, ProvisionedCustomObject } from "./provisioning.mjs"; import type { ReconcileCustomObjectDefinitionOptions, ReconcileCustomObjectDefinitionsOptions, ReconciledCustomObject } from "./lifecycle.mjs"; /** * Typed manager bound to one category definition and one SDK client. * * @typeParam TName - Logical category name carried by the bound definition. */ export declare class TypedCustomObjectCategoryManager { private readonly client; private readonly definition; /** * Creates a typed category manager bound to one SDK client and one category definition. * * @param client - SDK client used for category lifecycle operations. * @param definition - Typed category definition to bind to the manager. */ constructor(client: RipplingSDK, definition: CustomObjectCategoryDefinition); /** * Returns the bound typed category definition. * * @returns Bound typed category definition. */ getDefinition(): CustomObjectCategoryDefinition; /** * Builds the low-level create payload for the bound category definition. * * @returns REST category-create payload for the bound definition. */ buildCreateParams(): RipplingSDK.ObjectCategories.ObjectCategoryCreateParams; /** * Builds the low-level update payload for the bound category definition. * * @returns REST category-update payload for the bound definition. */ buildUpdateParams(): RipplingSDK.ObjectCategories.ObjectCategoryUpdateParams; /** * Provisions the bound category definition through the REST SDK. * * @param options - Provisioning behavior flags for display-metadata updates. * @returns Provisioning result for the bound category definition. */ provision(options?: CustomObjectCategoryMutationOptions): Promise>; /** * Reconciles the bound category definition against the backend. * * @param options - Reconciliation behavior flags for display-metadata updates. * @returns Reconciliation result for the bound category definition. */ reconcile(options?: CustomObjectCategoryMutationOptions): Promise>; /** Deletes the category that matches the bound typed definition. */ delete(): Promise; } /** * Typed manager bound to one custom-object definition and one SDK client. * * @typeParam TDefinition - Object definition bound to the manager. */ export declare class TypedCustomObjectSchemaManager { private readonly client; private readonly definition; /** * Creates a typed schema manager bound to one SDK client and one object definition. * * @param client - SDK client used for object lifecycle operations. * @param definition - Typed object definition to bind to the manager. */ constructor(client: RipplingSDK, definition: TDefinition); /** * Returns the bound typed object definition. * * @returns Bound typed object definition. */ getDefinition(): TDefinition; /** * Returns a typed category manager when the bound definition embeds a category definition. * * @returns Typed category manager for the embedded category definition, when present. */ category(): TypedCustomObjectCategoryManager['name']> | undefined; /** * Builds the low-level create payload for the bound object definition using a resolved category id. * * @param categoryIdentifier - Resolved custom-category id or native category id required by the live API. * @returns REST object-create payload for the bound definition. */ buildCreateParams(categoryIdentifier: string): RipplingSDK.CustomObjects.CustomObjectCreateParams; /** * Builds the low-level update payload for the bound object definition using a resolved category id. * * @param categoryIdentifier - Resolved custom-category id or native category id required by the live API. * @returns REST object-update payload for the bound definition. */ buildUpdateParams(categoryIdentifier: string): RipplingSDK.CustomObjects.CustomObjectUpdateParams; /** * Builds the low-level platform-managed name-field metadata payload for the bound definition. * * @returns Name-field metadata payload for the bound definition, when needed. */ buildNameFieldDetails(): RipplingSDK.CustomObjects.Fields.CustomObjectNameFieldDetails | undefined; /** * Builds typed field create/update payloads for one logical field on the bound definition. * * @param fieldName - Logical field name to compile. * @returns Frozen create/update payload pair for the requested field. * @typeParam TFieldName - Logical field name being compiled. */ buildFieldParams>(fieldName: TFieldName): ProvisionableFieldParams; /** * Provisions the bound object definition through the REST SDK. * * @param options - Provisioning behavior flags for categories, display metadata, and name fields. * @returns Provisioning result for the bound object definition. */ provision(options?: ProvisionCustomObjectOptions): Promise>; /** * Reconciles the bound object definition against the backend. * * @param options - Reconciliation behavior flags for categories, name fields, and deletions. * @returns Reconciliation result for the bound object definition. */ reconcile(options?: ReconcileCustomObjectDefinitionOptions): Promise>; /** Deletes the bound object definition by its compiled api name. */ delete(): Promise; } /** * Root schema manager that binds typed category/object definitions to one SDK client. * * Use this when you want a lifecycle-oriented API for categories, object metadata, * field metadata, and typed reconciliation without manually threading the same * `RipplingSDK` client through every helper call. */ export declare class CustomObjectSchemaManager { private readonly client; /** * Creates a new schema manager bound to one SDK client. * * @param client - SDK client used for all subsequent category and object lifecycle operations. */ constructor(client: RipplingSDK); /** * Returns a typed category manager bound to one category definition. * * @param definition - Typed category definition to bind. * @returns Definition-bound category manager. * @typeParam TName - Logical category name carried by the bound definition. */ forCategory(definition: CustomObjectCategoryDefinition): TypedCustomObjectCategoryManager; /** * Returns a typed schema manager bound to one object definition. * * @param definition - Typed object definition to bind. * @returns Definition-bound schema manager. * @typeParam TDefinition - Object definition bound to the manager. */ forObject(definition: TDefinition): TypedCustomObjectSchemaManager; /** * Short ergonomic alias for {@link forObject}. * * @param definition - Typed object definition to bind. * @returns Definition-bound schema manager. * @typeParam TDefinition - Object definition bound to the manager. */ for(definition: TDefinition): TypedCustomObjectSchemaManager; /** * Provisions multiple typed category definitions through the REST SDK. * * @param definitions - Typed category definitions to provision. * @param options - Provisioning behavior flags shared across the batch. * @returns Provisioning results in input order. */ provisionCategories(definitions: readonly CustomObjectCategoryDefinition[], options?: CustomObjectCategoryMutationOptions): Promise; /** * Reconciles multiple typed category definitions against the backend. * * @param definitions - Typed category definitions to reconcile. * @param options - Reconciliation behavior flags shared across the batch. * @returns Reconciliation results in input order. */ reconcileCategories(definitions: readonly CustomObjectCategoryDefinition[], options?: CustomObjectCategoryMutationOptions): Promise; /** * Provisions multiple typed object definitions through the REST SDK. * * @param definitions - Typed object definitions to provision. * @param options - Batch provisioning behavior flags. * @returns Provisioning results in input order. */ provisionDefinitions(definitions: readonly AnyCustomObjectDefinition[], options?: ProvisionCustomObjectsOptions): Promise>; /** * Reconciles multiple typed object definitions against the backend. * * @param definitions - Typed object definitions to reconcile. * @param options - Batch reconciliation behavior flags. * @returns Reconciliation results in input order. */ reconcileDefinitions(definitions: readonly AnyCustomObjectDefinition[], options?: ReconcileCustomObjectDefinitionsOptions): Promise; } /** Short alias for teams that prefer concise schema-manager names. */ export declare class COSchemaManager extends CustomObjectSchemaManager { } //# sourceMappingURL=schema-manager.d.mts.map