import { CdmCorpusContext, CdmDocumentDefinition, CdmFolderDefinition, copyOptions, resolveOptions } from '../../internal';
import { DocumentContent } from './types';
export declare class DocumentPersistence {
    private static TAG;
    /**
     * Whether this persistence class has async methods.
     */
    static readonly isPersistenceAsync: boolean;
    /**
     * The file format/extension types this persistence class supports.
     */
    static readonly formats: string[];
    static fromObject(ctx: CdmCorpusContext, name: string, namespace: string, path: string, object: DocumentContent): CdmDocumentDefinition;
    static fromData(ctx: CdmCorpusContext, docName: string, jsonData: string, folder: CdmFolderDefinition): CdmDocumentDefinition;
    static toData(instance: CdmDocumentDefinition, resOpt: resolveOptions, options: copyOptions): DocumentContent;
    /**
     * Compares the document version with the json semantic version supported.
     * 1 => if documentSemanticVersion > jsonSemanticVersion
     * 0 => if documentSemanticVersion == jsonSemanticVersion or if documentSemanticVersion is invalid
     * -1 => if documentSemanticVersion < jsonSemanticVersion
     */
    private static compareJsonSemanticVersion;
}
