import type { AxisView, DerivationLoopView, ReasonNodeView, SubstrateView } from "#types/loop.types"; import type { EdgeRef } from "#types/link.types"; export interface ReasonLayerView { readonly anchor: string; readonly axes: readonly EdgeRef[]; readonly id: string; readonly label: string; readonly question: string; } export interface MathTypeView { readonly anchor: string; readonly contracts: readonly EdgeRef[]; readonly domain: EdgeRef; readonly id: string; readonly predicateFamily: string; readonly question: string; readonly yieldsShape: string; } export interface DimensionView { readonly anchor: string; readonly id: string; readonly mathNature: string; readonly question: string; readonly surfaces: readonly EdgeRef[]; } export interface LensView { readonly anchor: string; readonly detectedBy: readonly EdgeRef[]; readonly id: string; readonly mathFields: readonly EdgeRef[]; readonly nature: string; readonly question: string; readonly surfaces: readonly string[]; readonly testSurfaces: readonly EdgeRef[]; readonly universalAxis: EdgeRef; } export interface ModeView { readonly anchor: string; readonly id: string; readonly practice: string; readonly question: string | null; readonly techniques: readonly EdgeRef[]; } export interface RepresentationView { readonly anchor: string; readonly expression: string; readonly id: string; } export interface MathDomainView { readonly anchor: string; readonly id: string; readonly question: string; readonly studies: string; } export interface PatternTypeView { readonly anchor: string; readonly id: string; readonly viewpoint: string; } export interface ModelView { readonly anchor: string; readonly id: string; readonly question: string; readonly recursionFrom: string | null; readonly recursionTo: string | null; readonly sequence: readonly EdgeRef[]; } export interface UniversalAxisView { readonly anchor: string; readonly id: string; readonly lenses: readonly EdgeRef[]; readonly question: string; readonly subsumes: readonly EdgeRef[]; } export interface TestSurfaceView { readonly anchor: string; readonly dimension: EdgeRef; readonly evidenceGrounds: readonly EdgeRef[]; readonly evidenceRequired: boolean; readonly evidenceSource: string; readonly failureModes: readonly string[]; readonly id: string; readonly invariant: EdgeRef; readonly lens: EdgeRef; readonly predicateExpression: string; readonly predicateGrounds: readonly EdgeRef[]; readonly predicateType: string; readonly techniques: readonly EdgeRef[]; readonly verdictDomain: readonly string[]; } export interface TechniqueView { readonly anchor: string; readonly id: string; readonly mode: EdgeRef; readonly principle: string; readonly surfaces: readonly EdgeRef[]; } export interface InvariantView { readonly anchor: string; readonly id: string; readonly statement: string; readonly surfaces: readonly EdgeRef[]; } export interface CellView { readonly dimension: EdgeRef; readonly lens: EdgeRef; } export interface ReasonEdgeView { readonly from: EdgeRef; readonly label: string | null; readonly to: EdgeRef | null; } export interface FoundationLayerView { readonly layer: string; readonly mathTypes: readonly EdgeRef[]; } export interface InvariantGroupView { readonly group: string; readonly members: readonly EdgeRef[]; } export interface MapsView { readonly foundationLayers: readonly FoundationLayerView[]; readonly foundationSequence: readonly EdgeRef[]; readonly invariantGroups: readonly InvariantGroupView[]; readonly patternOperations: readonly EdgeRef[]; } export interface ReasonView { readonly axes: readonly AxisView[]; readonly derivationLoop: DerivationLoopView; readonly dimensions: readonly DimensionView[]; readonly edges: readonly ReasonEdgeView[]; readonly invariants: readonly InvariantView[]; readonly layers: readonly ReasonLayerView[]; readonly lenses: readonly LensView[]; readonly maps: MapsView; readonly mathDomains: readonly MathDomainView[]; readonly mathTypes: readonly MathTypeView[]; readonly models: readonly ModelView[]; readonly modes: readonly ModeView[]; readonly nodes: readonly ReasonNodeView[]; readonly patternTypes: readonly PatternTypeView[]; readonly representations: readonly RepresentationView[]; readonly substrate: SubstrateView; readonly techniques: readonly TechniqueView[]; readonly testSurfaces: readonly TestSurfaceView[]; readonly uncoveredCells: readonly CellView[]; readonly universalAxes: readonly UniversalAxisView[]; }