import { IFileSchema, IFileSummarySchema, PorjectSchema } from '../types';
import { Document } from './Document';
import { Block } from './Block';
import { Node } from './Node';
export declare type IFile = Document | Block;
export declare type INode = Document | Block | Node;
export declare class Project {
    files: Array<Document | Block>;
    current: Document | Block | null;
    name: string;
    title: string;
    constructor(schema?: PorjectSchema);
    load(schema?: PorjectSchema): void;
    update(schema?: PorjectSchema): void;
    loadFile(schema: IFileSchema): void;
    createFile(schema: IFileSchema): Block;
    changeFile(file: IFile): void;
    removeFile(file: IFile): void;
    updateFile(schema: IFileSchema): void;
    validateFile(schema: IFileSummarySchema, file?: IFile | null): boolean;
}
