import type { InapplicabilityReason } from '../applicability.types.js'; /** * `'no-requirements'` - no `requires` declared, nothing checked or fetched. * `'loading'` - requirements declared, segment definition still fetching. * `'ok'` - covers the view's needs, or the check couldn't be performed. * `'no-overlap'` - doesn't cover the view's needs; see `reason`. * @internal */ export type SegmentApplicabilityStatus = 'no-requirements' | 'loading' | 'ok' | 'no-overlap'; /** * @internal */ export interface SegmentApplicabilityResult { /** See `SegmentApplicabilityStatus`. */ status: SegmentApplicabilityStatus; /** Set when `status` is `'no-overlap'`. */ reason?: InapplicabilityReason; /** Required signal data types the segment does not cover. */ missingDataTypes: string[]; /** Required entity types the segment does not cover. */ missingEntityTypes: string[]; /** Filter fields not available on the view's target data object(s). */ missingFields: string[]; /** Signal data objects or entity types `missingFields` are absent from. */ missingFieldsSources: string[]; } /** * Compares the selected segment's definition against the host view's * declared `requires` (see `` / ``). * Reads the selection from context; pass `segmentId` to check a specific * segment instead of the first selected one. * * Internal to ``'s in-overlay warning, not a public * integration surface. Never throws - a fetch failure or missing access * resolves to `'ok'` rather than a false `'no-overlap'`. * @internal */ export declare function useSegmentApplicability(segmentId: string): SegmentApplicabilityResult; //# sourceMappingURL=useSegmentApplicability.d.ts.map