import { ClassType, PageContainer, Table } from '@judo/model-api'; /** * Build a `_mask` string for a table page or lazy relation table. * * Collects mask entries from: * - Column `attributeType`s (what the table displays) * - Column `representsRelation`s (inline single-aggregation columns → nested mask) * - Table `additionalMaskAttributes` / `additionalMaskRelations` (model-configured extras) * - PageContainer `additionalMaskAttributes` (page-level extras, for table pages only) * * @param table - The Table visual element * @param pageContainer - The PageContainer (pass only for table-type pages, not embedded tables) * @returns Mask string like `"{name,born,address{street,city}}"` * * @example * buildTableMask(table) * // => "{constellation,magnitude,nakedEye}" * * @example * buildTableMask(table, pageContainer) * // => "{constellation,magnitude,nakedEye,extraAttr}" */ export declare function buildTableMask(table: Table, pageContainer?: PageContainer): string; /** * Build a `_mask` string for a view page. * * Walks the entire visual element tree and collects: * - `attributeType` from Input, Formatted, and other attribute-bound elements * - Conditional attributes (`hiddenBy`, `enabledBy`, `requiredBy`) * - `titleAttribute` from the PageContainer * - `additionalMaskAttributes` from the PageContainer * - Eager Table column attributes (as nested relation masks) * - Eager Link part attributes (as nested relation masks) * * @param pageContainer - The root PageContainer of the view page * @param classType - Optional ClassType for the page's data element (to include representation attribute) * @returns Mask string like `"{name,born,stars{constellation,magnitude}}"` * * @example * buildViewMask(pageContainer) * // => "{name,born,hidden,stars{constellation,magnitude}}" */ export declare function buildViewMask(pageContainer: PageContainer, classType?: ClassType): string; //# sourceMappingURL=build-page-mask.d.ts.map