import { layers, type Aspect, type Layer, type RelationshipKind } from '../profile.js'; export declare const ICON_SIZE = 14; export declare const LAYER_COLORS: { readonly motivation: { readonly fill: '#CCCCFF'; readonly border: '#8F8FE0'; }; readonly strategy: { readonly fill: '#F5DEAA'; readonly border: '#C9A355'; }; readonly business: { readonly fill: '#FFFF99'; readonly border: '#C9C355'; }; readonly application: { readonly fill: '#CCFFFF'; readonly border: '#4FB8B8'; }; readonly technology: { readonly fill: '#CCFFCC'; readonly border: '#5FAE5F'; }; readonly implementation: { readonly fill: '#FFE0E0'; readonly border: '#D89999'; }; readonly physical: { readonly fill: '#F0F0F0'; readonly border: '#999999'; }; readonly composite: { readonly fill: '#F0F0F0'; readonly border: '#999999'; }; }; export interface ShapeMeta { readonly shape: 'rectangle' | 'round-rectangle' | 'octagon'; /** Passive-structure's ArchiMate header-stripe convention. */ readonly accent?: 'top-band'; /** Grouping's convention. The other composites draw a solid border. */ readonly borderStyle?: 'dashed'; } export declare const ASPECT_SHAPES: Record; export interface ConceptNotation extends ShapeMeta { readonly id: string; readonly notation: string; readonly layer: Layer; readonly aspect: Aspect; readonly glyph: string | null; readonly colors: { readonly fill: string; readonly border: string; }; } export declare const CONCEPT_NOTATION: readonly ConceptNotation[]; export declare function conceptNotationOf(kindLabel: string): ConceptNotation | null; /** * The glyph as a data URI, drawn in `ink` - the notation's own by default, or * the light stroke a dark ground needs (ADR 0148). The stroke is the only * thing that varies; the strokes themselves are the notation's. */ export declare function kindGlyphDataUriOf(kindLabel: string, ink?: string): string | null; export interface ArrowNotation { readonly shape: 'none' | 'diamond' | 'triangle' | 'circle' | 'vee'; readonly fill?: 'filled' | 'hollow'; } export interface RelationshipNotation { readonly id: RelationshipKind; readonly lineStyle: 'solid' | 'dotted' | 'dashed'; readonly sourceArrow: ArrowNotation; readonly targetArrow: ArrowNotation; } export declare const RELATIONSHIP_NOTATION: readonly RelationshipNotation[]; export declare function relationshipNotationOf(kindLabel: string): RelationshipNotation | null; export { layers };