import type { CustomObject } from "./custom-object.js"; import { type ExistingManifestContextOptions } from "./existing-manifest-context.js"; import type { ManifestComponentDeletion } from "./manifest-builder.js"; export interface CustomObjectFieldSectionLoadFromExistingOptions extends ExistingManifestContextOptions { customObjectApiName?: string; } /** * Initialization properties for {@link CustomObjectFieldSection}. */ export interface CustomObjectFieldSectionProps { /** * Display name of the section shown as a group header on the detail page * (e.g. `'Profile'`, `'Membership'`). * * Required. */ name: string; /** * Stable identifier for this section. Pass a human-readable slug * (e.g. `'sec_gm_profile'`) to keep it stable across manifest regenerations. * * Optional. Auto-generated when omitted. @default generateId('sec') */ sectionId?: string; } /** * Defines a field section and registers it with the manifest. * * A field section is a named group of fields displayed together on a custom * object's detail page. Every custom field must receive one of these sections * through its `section` prop. * * @example * ```ts * const profileSection = new CustomObjectFieldSection(memberObj, { * name: 'Profile', * sectionId: 'sec_gm_profile', * }); * * const firstName = new TextField(memberObj, { * apiName: 'first_name__c', * displayName: 'First name', * section: profileSection, * }); * ``` * * @see {@link CustomObjectPageLayout} — controls which sections appear on which tab. */ export declare class CustomObjectFieldSection { static readonly componentType: "CUSTOM_OBJECT_FIELD_SECTION"; static toDeletionIdentifier(sectionId: string): ManifestComponentDeletion; private readonly _sectionId; private readonly _name; private readonly _model; /** * @param customObject - The custom object this section belongs to. * @param props - Initialization properties. */ constructor(customObject: CustomObject, props: CustomObjectFieldSectionProps); /** * Loads this field section from the active existing-manifest JSON context. */ static loadFromExisting(sectionId: string, options?: CustomObjectFieldSectionLoadFromExistingOptions): CustomObjectFieldSection; /** @internal Hydrates a field section from existing manifest wire JSON. */ static _fromExistingComponent(customObject: CustomObject, component: Record): CustomObjectFieldSection; /** * Returns the stable identifier for this section (e.g. `'sec_gm_profile'`). * * Use this value in page layout field entries via `getSectionId()`, or pass * the section instance directly to field `section` props. */ getSectionId(): string; /** * Returns the display name of this field section. */ getName(): string; /** * Returns the api_name of the custom object this section belongs to. */ getModelApiName(): string; /** * Serializes this section to the wire format consumed by the manifest install endpoint. * * @returns A plain object with `type: 'CUSTOM_OBJECT_FIELD_SECTION'`. */ toDict(): Record; } //# sourceMappingURL=custom-object-field-section.d.ts.map