import { Markers } from "./markers"; import { UUID } from "./uuid"; export declare const TreeKind: { readonly Checksum: "org.openrewrite.Checksum"; readonly FileAttributes: "org.openrewrite.FileAttributes"; }; export interface Tree { readonly kind: string; /** * Use randomId() to generate a unique id for a tree. */ readonly id: UUID; /** * It is possible to use EmptyMarkers here to represent no markers. */ readonly markers: Markers; } export declare function isTree(tree: any): tree is Tree; export declare function isScope(a: Tree, b: Tree): boolean; export declare class Cursor { readonly value: any; readonly parent?: Cursor | undefined; private _messages?; constructor(value: any, parent?: Cursor | undefined); get messages(): Map; getNearestMessage(key: string): any; asArray(): any[]; parentTree(level?: number): Cursor | undefined; firstEnclosing(match: (value: any) => value is T): T | undefined; get root(): Cursor; } export declare function rootCursor(): Cursor; export interface Checksum { kind: typeof TreeKind.Checksum; readonly algorithm: string; readonly value: ArrayBuffer; } export interface FileAttributes { kind: typeof TreeKind.FileAttributes; readonly creationDate?: string; readonly lastModifiedTime?: string; readonly lastAccessTime?: string; readonly isReadable: boolean; readonly isWritable: boolean; readonly isExecutable: boolean; readonly size: number; } export declare function isSourceFile(tree: any): tree is SourceFile; export interface SourceFile extends Tree { sourcePath: string; charsetName?: string; charsetBomMarked?: boolean; checksum?: Checksum; fileAttributes?: FileAttributes; } //# sourceMappingURL=tree.d.ts.map