import { t } from '../common';
import { Uri } from '../Uri';
import { Url } from './Url';
export declare class Urls implements t.IUrls {
    static readonly routes: {
        WILDCARD: string;
        SYS: {
            FAVICON: string;
            INFO: string[];
            UID: string;
        };
        LOCAL: {
            FS: string;
        };
        FILE: {
            BASE: string;
            INFO: string;
            UPLOADED: string;
        };
        NS: {
            CELL: string;
            INFO: string;
            TYPES: string;
        };
        CELL: {
            NS: string;
            INFO: string;
            FS: {
                FILE: {
                    BY_NAME: string;
                    BY_FILE_URI: string;
                };
                FILES: {
                    BASE: string;
                    UPLOAD: string;
                    UPLOADED: string;
                    COPY: string;
                };
            };
        };
        ROW: {
            INFO: string;
        };
        COLUMN: {
            INFO: string;
        };
        FUNC: {
            RUN: string;
        };
    };
    static readonly Uri: typeof Uri;
    static readonly Url: typeof Url;
    static readonly parse: typeof Url.parse;
    static create(input?: string | number): t.IUrls;
    private constructor();
    readonly protocol: t.HttpProtocol;
    readonly host: string;
    readonly hostname: string;
    readonly port: number;
    readonly origin: string;
    get sys(): {
        readonly info: t.IUrl<{
            [x: string]: unknown;
        }>;
        readonly uid: t.IUrl<t.IReqQuerySysUid>;
    };
    get local(): {
        readonly fs: t.IUrl<{
            [x: string]: unknown;
        }>;
    };
    get fn(): {
        bundle: t.IUrlsBundle;
        readonly run: t.IUrl<t.IReqQueryFunc>;
    };
    ns(input: string | t.INsUri): {
        uri: string;
        readonly info: t.IUrl<t.IReqQueryNsInfo>;
    };
    cell(input: string | t.ICellUri): {
        uri: string;
        readonly info: t.IUrl<{
            [x: string]: unknown;
        }>;
        files: {
            readonly list: t.IUrl<t.IReqQueryCellFsList>;
            readonly delete: t.IUrl<{
                [x: string]: unknown;
            }>;
            readonly copy: t.IUrl<t.IReqQueryCellFsCopy>;
            readonly upload: t.IUrl<t.IReqQueryCellFsUpload>;
            readonly uploaded: t.IUrl<t.IReqQueryCellFsUploaded>;
        };
        file: {
            toString(): string;
            byName(filename: string): t.IUrl<t.IReqQueryCellFileDownloadByName>;
            byFileUri(fileUri: string, fileExtension?: string): t.IUrl<t.IReqQueryCellFileDownloadByName>;
        };
    };
    row(input: string | t.IRowUri): {
        uri: string;
        readonly info: t.IUrl<{
            [x: string]: unknown;
        }>;
    };
    column(input: string | t.IColumnUri): {
        uri: string;
        readonly info: t.IUrl<{
            [x: string]: unknown;
        }>;
    };
    file(input: string | t.IFileUri): {
        uri: string;
        readonly info: t.IUrl<{
            [x: string]: unknown;
        }>;
        readonly download: t.IUrl<t.IReqQueryFileDownload>;
        readonly delete: t.IUrl<t.IReqQueryFileDelete>;
        readonly uploaded: t.IUrl<t.IReqQueryFileUploadComplete>;
    };
    private toUrl;
}
