/** * Data scope for a subtree, set by `DataProvider`. A compile-time Repeat injects the * per-building `propertyId`; a runtime Repeat injects the current record under `as` and the * accumulated `records` map. Consumers default to the site property when `propertyId` is unset. */ export interface DataContextValue { propertyId?: string; as?: string; record?: Record; /** * Alias→record map accumulated down nested runtime `Repeat`s, so `{$data:"alias.field"}` * resolves against the right record even when an inner Repeat shadows an outer one. */ records?: Record; } export declare function DataContextProvider({ value, children, }: { value: DataContextValue; children: React.ReactNode; }): import("react/jsx-runtime").JSX.Element; export declare function useDataContext(): DataContextValue | null; /** The nearest provider's propertyId, or null — the D8 per-building scope seam. */ export declare function usePropertyScope(): string | null; /** * The record bound to `as` by the nearest enclosing runtime `Repeat`, or undefined. * Prefers the accumulated `records` map (so an outer Repeat's record is still reachable from an * inner one); falls back to the nearest provider's singular `record`. */ export declare function useRecord(as: string): Record | undefined; //# sourceMappingURL=useDataContext.d.ts.map