import type { SourceAnchor } from "../../../../core/domain/facts/anchor.js"; import type { ParsedFile } from "../../../../core/ports/parser.port.js"; import { type SyntaxNode } from "../../../../infrastructure/parser/ts-utils.js"; export type PythonClass = { readonly name: string; readonly bases: readonly string[]; /** Class-level assignments, held as nodes: a constant is not always a string. */ readonly constants: ReadonlyMap; readonly methods: ReadonlyMap; /** Annotated class attributes, by attribute name, as the type they name. */ readonly attributes: ReadonlyMap; readonly anchor: SourceAnchor; }; export type PythonDeclarationIndex = { classOf(name: string): PythonClass | null; classes(): readonly PythonClass[]; }; export declare function pythonDeclarationIndex(file: ParsedFile): PythonDeclarationIndex; /** * Folds a Python string literal, including the raw and prefixed forms the * route tables use, to the characters it denotes. */ export declare function pythonStringLiteral(node: SyntaxNode): string | null;