import type { Block, Tag } from './pug'; export interface NodeLocation { line: number; column?: number; filename?: string; path?: string; } export interface SlotDefinition { name: string; placeholder: Tag; location: NodeLocation; } export interface ComponentDefinition { name: string; body: Block; slots: Map; location: NodeLocation; usage?: ComponentUsage; scopeAnalysis?: ScopeAnalysisResult; } export interface ComponentUsage { fromProps: string[]; fromAttrs: string[]; } export interface ScopeAnalysisResult { declaredVariables: Set; referencedVariables: Set; propsVariables: Set; attrsVariables: Set; slotVariables: Set; externalReferences: Set; } export interface ValidationConfig { scopeIsolation?: 'error' | 'warn' | 'off'; allowedGlobals?: string[]; } export interface PugTailError { message: string; location?: NodeLocation; } //# sourceMappingURL=index.d.ts.map