import * as path from 'path'; import { z } from 'zod'; export declare const INVALID_FILENAME_ERROR_MESSAGE = "Error: Invalid filename format. Must be alphanumeric with supported extension."; export declare const DEFAULT_FILE_SYSTEM_PATH = "browseruse_agent_data"; export declare class FileSystemError extends Error { constructor(message: string); } export interface BaseFile { name: string; content: string; extension: string; fullName: string; size: number; lineCount: number; writeFileContent(content: string): void; appendFileContent(content: string): void; updateContent(content: string): void; syncToDiskSync(basePath: string): void; syncToDisk(basePath: string): Promise; write(content: string, basePath: string): Promise; append(content: string, basePath: string): Promise; read(): string; } export declare abstract class AbstractBaseFile implements BaseFile { name: string; content: string; constructor(name: string, content?: string); abstract get extension(): string; get fullName(): string; get size(): number; get lineCount(): number; writeFileContent(content: string): void; appendFileContent(content: string): void; updateContent(content: string): void; syncToDiskSync(basePath: string): void; syncToDisk(basePath: string): Promise; write(content: string, basePath: string): Promise; append(content: string, basePath: string): Promise; read(): string; } export declare class MarkdownFile extends AbstractBaseFile { get extension(): string; } export declare class TxtFile extends AbstractBaseFile { get extension(): string; } export declare class JsonFile extends AbstractBaseFile { get extension(): string; } export declare class CsvFile extends AbstractBaseFile { get extension(): string; } export declare class PdfFile extends AbstractBaseFile { get extension(): string; syncToDiskSync(basePath: string): void; syncToDisk(basePath: string): Promise; } export declare const FileSystemStateSchema: z.ZodObject<{ files: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: string; data: { name: string; content: string; }; }, { type: string; data: { name: string; content: string; }; }>>; baseDir: z.ZodString; extractedContentCount: z.ZodDefault; }, "strip", z.ZodTypeAny, { files: Record; baseDir: string; extractedContentCount: number; }, { files: Record; baseDir: string; extractedContentCount?: number | undefined; }>; export type FileSystemState = z.infer; export declare class FileSystem { private baseDir; private dataDir; private files; private extractedContentCount; private fileTypes; constructor(baseDir: string | path.ParsedPath, createDefaultFiles?: boolean); private initializeDirectories; getAllowedExtensions(): string[]; private getFileTypeClass; private createDefaultFiles; private isValidFilename; private parseFilename; getDir(): string; getFile(fullFilename: string): BaseFile | null; listFiles(): string[]; displayFile(fullFilename: string): string | null; readFile(fullFilename: string, externalFile?: boolean): Promise; writeFile(fullFilename: string, content: string): Promise; appendFile(fullFilename: string, content: string): Promise; replaceFileStr(fullFilename: string, oldStr: string, newStr: string): Promise; saveExtractedContent(content: string): Promise; describe(): string; getTodoContents(): string; getState(): FileSystemState; nuke(): void; static fromState(state: FileSystemState): FileSystem; } //# sourceMappingURL=index.d.ts.map