import { t } from '../common';
import { FileLinks } from './FileLinks';
declare type IFileSchemaArgs = {
    nsPath: string;
    fileid: string;
    uri: string;
};
export declare class FileSchema {
    static links: typeof FileLinks;
    static ERROR: {
        HTTP: {
            SERVER: "HTTP/server";
            CONFIG: "HTTP/config";
            NOT_FOUND: "HTTP/notFound";
            NOT_LINKED: "HTTP/notLinked";
            FILE: "HTTP/file";
            MALFORMED_URI: "HTTP/uri/malformed";
            HASH_MISMATCH: "HTTP/hash/mismatch";
            TYPE: "HTTP/type";
        };
        TYPE: {
            DEF: "TYPE/def";
            DEF_INVALID: "TYPE/def/invalid";
            NOT_FOUND: "TYPE/notFound";
            TARGET: "TYPE/target";
            REF: "TYPE/ref";
            REF_CIRCULAR: "TYPE/ref/circular";
            REF_TYPENAME: "TYPE/ref/typename";
            DUPLICATE_PROP: "TYPE/duplicate/prop";
            DUPLICATE_TYPENAME: "TYPE/duplicate/typename";
            SHEET: "TYPE/sheet";
        };
    };
    readonly type: t.SchemaFileType;
    readonly fileid: string;
    readonly path: string;
    readonly uri: string;
    static create: (args: IFileSchemaArgs) => FileSchema;
    private constructor();
    static uri(args: {
        path: string;
    }): string;
    static toFileLocation(input?: string): string;
}
export {};
