/**
 * System Fields Configuration
 *
 * These fields are implicit in ALL entities and should NEVER be declared
 * in entity field configurations. They are:
 * - Always present in database tables
 * - Always returned in API responses
 * - Always available for sorting
 * - Shown in metadata sections of detail views
 * - Never shown in forms (managed by database)
 */
import type { EntityField } from './types';
/**
 * All system field names that are implicit in every entity
 */
export declare const SYSTEM_FIELD_NAMES: readonly ["id", "createdAt", "updatedAt", "userId", "teamId"];
export type SystemFieldName = (typeof SYSTEM_FIELD_NAMES)[number];
/**
 * Fields that are implicitly available for sorting even if not in config
 */
export declare const IMPLICIT_SORTABLE_FIELDS: readonly ["createdAt", "updatedAt"];
export type ImplicitSortableField = (typeof IMPLICIT_SORTABLE_FIELDS)[number];
/**
 * Virtual field definitions for createdAt/updatedAt
 * Used by frontend components to render these fields consistently
 */
export declare const SYSTEM_TIMESTAMP_FIELDS: EntityField[];
/**
 * Check if a field name is a system field
 */
export declare function isSystemField(fieldName: string): boolean;
/**
 * Check if a field name is an implicit timestamp field
 */
export declare function isImplicitTimestampField(fieldName: string): boolean;
/**
 * Get system timestamp field definition by name
 * Returns the field definition if found, null otherwise
 */
export declare function getSystemTimestampField(fieldName: string): EntityField | null;
/**
 * Builder-specific system fields (conditional)
 * These are only valid for entities with builder.enabled = true
 */
export declare const BUILDER_SYSTEM_FIELD_NAMES: readonly ["blocks"];
export type BuilderSystemFieldName = (typeof BUILDER_SYSTEM_FIELD_NAMES)[number];
/**
 * Virtual field definition for blocks (builder entities only)
 * This field is automatically available for entities with builder.enabled = true
 */
export declare const BUILDER_BLOCKS_FIELD: EntityField;
/**
 * Check if a field is a builder-specific system field
 */
export declare function isBuilderSystemField(fieldName: string): boolean;
//# sourceMappingURL=system-fields.d.ts.map