import { EditorFileData, FileData } from '../../../api'; import { TemplateResult } from '@blinkk/selective-edit'; import { FormDialogModal } from '../../modal'; import { LiveEditor } from '../../../editor'; import { MenuSectionPart, MenuSectionPartConfig } from './index'; import { DataStorage } from '../../../../utility/dataStorage'; import { HoverMenu } from '../../hoverMenu'; export declare type SiteMenuPartConfig = MenuSectionPartConfig; interface DirectoryEventHandlers { fileCopy: (evt: Event, file: FileData) => void; fileDelete: (evt: Event, file: FileData) => void; fileLoad: (evt: Event, file: FileData) => void; fileNew: (evt: Event, directory: string) => void; render: () => void; } export declare class SitePart extends MenuSectionPart { fileStructure?: DirectoryStructure; constructor(config: MenuSectionPartConfig); classesForPart(): Record; protected getOrCreateModalCopy(): FormDialogModal; protected getOrCreateModalDelete(): FormDialogModal; protected getOrCreateModalNew(): FormDialogModal; templateContent(): TemplateResult; templateFileCopy(): TemplateResult; templateFileDelete(): TemplateResult; templateFileNew(): TemplateResult; templateTitle(): TemplateResult; get title(): string; } declare class DirectoryStructure { editor: LiveEditor; rootFiles: Array; root: string; directories: Record; eventHandlers: DirectoryEventHandlers; files: Array; isExpanded?: boolean; storage: DataStorage; constructor(editor: LiveEditor, rootFiles: Array, eventHandlers: DirectoryEventHandlers, storage: DataStorage, root?: string); get base(): string; expandToFile(file: EditorFileData): void; handleExpandCollapse(): void; template(): TemplateResult; templateDirectories(): TemplateResult; templateFiles(): TemplateResult; } declare class FileStructure { editor: LiveEditor; eventHandlers: DirectoryEventHandlers; file: FileData; hoverMenu: HoverMenu; constructor(editor: LiveEditor, eventHandlers: DirectoryEventHandlers, file: FileData); baseFromFilePath(): string; fileFromFilePath(): string; template(): TemplateResult; } export {};