import { DatabaseNode, NodeType, SymbolType, FileNode, SymbolNode, ReferenceNode, DependencyNode } from '../types'; export declare abstract class BaseNode implements DatabaseNode { id: string; type: NodeType; name: string; path: string; repository: string; metadata: Record; created_at: string; updated_at: string; constructor(data: Partial & { name: string; path: string; repository: string; }); toJSON(): DatabaseNode; static fromJSON(data: DatabaseNode): BaseNode; } export declare class FileNodeModel extends BaseNode implements FileNode { type: NodeType.FILE; constructor(data: Partial & { name: string; path: string; repository: string; }); get language(): string; set language(value: string); get size(): number; set size(value: number); get line_count(): number; set line_count(value: number); private inferLanguageFromPath; } export declare class SymbolNodeModel extends BaseNode implements SymbolNode { type: NodeType.SYMBOL; constructor(data: Partial & { name: string; path: string; repository: string; }); get symbol_type(): SymbolType; set symbol_type(value: SymbolType); get start_line(): number; set start_line(value: number); get end_line(): number; set end_line(value: number); get start_column(): number; set start_column(value: number); get end_column(): number; set end_column(value: number); get signature(): string | undefined; set signature(value: string | undefined); get documentation(): string | undefined; set documentation(value: string | undefined); get visibility(): 'public' | 'private' | 'protected' | undefined; set visibility(value: 'public' | 'private' | 'protected' | undefined); } export declare class ReferenceNodeModel extends BaseNode implements ReferenceNode { type: NodeType.REFERENCE; constructor(data: Partial & { name: string; path: string; repository: string; }); get start_line(): number; set start_line(value: number); get end_line(): number; set end_line(value: number); get start_column(): number; set start_column(value: number); get end_column(): number; set end_column(value: number); get context(): string; set context(value: string); } export declare class DependencyNodeModel extends BaseNode implements DependencyNode { type: NodeType.DEPENDENCY; constructor(data: Partial & { name: string; path: string; repository: string; }); get version(): string | undefined; set version(value: string | undefined); get is_external(): boolean; set is_external(value: boolean); get source(): 'npm' | 'pip' | 'cargo' | 'go' | 'maven' | 'other'; set source(value: 'npm' | 'pip' | 'cargo' | 'go' | 'maven' | 'other'); } //# sourceMappingURL=Node.d.ts.map