import { AtomDisposableList } from "@web-atoms/core/dist/core/AtomDisposableList"; export interface IFileMessage extends monaco.languages.typescript.Diagnostic { model?: FileModel; } export default class FileModel { readonly parent: FileModel; name: string; ext?: string; isBuilding: boolean; isOpen?: boolean; get fileIcon(): string; get isPacked(): boolean; icon?: string; messages: IFileMessage[]; navigationItems: any[]; children?: FileModel[]; snapshot?: string; remoteUrl?: string; tempUrl?: string; rename: boolean; get canEdit(): boolean; get dirtyChild(): boolean; get isReadOnly(): boolean; get indent(): number; private mContent?; get content(): string; set content(value: string); private mTextModel; get model(): monaco.editor.ITextModel; private mOriginalContent?; get originalContent(): string; set originalContent(value: string); get dirty(): boolean; get isFolder(): boolean; get url(): string; get descendants(): FileModel[]; constructor(parent: FileModel); forEach(action: (file: FileModel) => void): void; create(path: string, isFolder?: boolean): FileModel; get(path: string, create?: boolean, isFolder?: boolean): FileModel; watchChanges(update: () => void): AtomDisposableList; private sort; private fillDescendants; private resolve; }