import { t } from '../common';
export declare const FileSchema: {
    ERROR: {
        HTTP: {
            SERVER: "HTTP/server";
            CLIENT: "HTTP/client";
            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";
        };
    };
    Links: {
        prefix: string;
        is: {
            fileKey(input?: string | undefined): boolean;
            fileValue(input?: string | undefined): boolean;
            fileUploading(value?: string | undefined): boolean;
        };
        total(links?: t.IUriMap): number;
        toKey(filename: string): string;
        parseKey(linkKey: string): t.ILinkKey;
        parseValue(linkValue: string): {
            toString: t.FileLinkToString;
            uri: t.IFileUri;
            value: string;
            query: t.IFileLinkQuery;
        };
        parse(linkKey: string, linkValue: string): t.IFileLink;
        toList(links?: t.IUriMap): t.IFileLink[];
        find(links?: t.IUriMap): {
            byName(path?: string | undefined): t.IFileLink | undefined;
        };
    };
    Path: {
        fromUrl(input: string): {
            ok: boolean;
            path: string;
            dir: string;
            filename: string;
            error: string | undefined;
            toString: () => string;
        };
        Local: {
            toAbsolutePath(args: {
                path: string;
                root: string;
            }): string;
            toRelativePath(args: {
                path: string;
                root: string;
            }): string;
            toAbsoluteLocation(args: {
                path: string;
                root: string;
            }): string;
            toRelativeLocation(args: {
                path: string;
                root: string;
            }): string;
        };
    };
    type: "FILE";
    toObject(args: {
        nsPath: string;
        fileid: string;
        uri: string;
    }): {
        fileid: string;
        uri: string;
        path: string;
    };
    uri(args: {
        path: string;
    }): string;
    toFileLocation(input?: string): string;
};
