import { t } from '../common';
import { Uri } from '../Uri';
export declare class Urls implements t.IUrls {
    static readonly uri: typeof Uri;
    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;
            FILE: {
                BY_NAME: string;
                BY_FILE_URI: string;
            };
            FILES: {
                BASE: string;
                UPLOAD: string;
                UPLOADED: string;
            };
        };
        ROW: {
            INFO: string;
        };
        COLUMN: {
            INFO: string;
        };
    };
    static create(input?: string | number): t.IUrls;
    static parse(input?: string | number): {
        protocol: t.HttpProtocol;
        host: string;
        port: number;
        origin: string;
    };
    private constructor();
    readonly protocol: t.HttpProtocol;
    readonly host: string;
    readonly port: number;
    readonly origin: string;
    get sys(): {
        readonly info: t.IUrl<object>;
        readonly uid: t.IUrl<object>;
    };
    get local(): {
        readonly fs: t.IUrl<t.IUrlQueryLocalFs>;
    };
    ns(input: string | t.IUrlParamsNs): {
        uri: string;
        readonly info: t.IUrl<t.IUrlQueryNsInfo>;
    };
    cell(input: string | t.IUrlParamsCell): {
        uri: string;
        readonly info: t.IUrl<t.IUrlQueryCellInfo>;
        files: {
            readonly list: t.IUrl<t.IUrlQueryCellFilesList>;
            readonly delete: t.IUrl<t.IUrlQueryCellFilesDelete>;
            readonly upload: t.IUrl<t.IUrlQueryCellFilesUpload>;
            readonly uploaded: t.IUrl<t.IUrlQueryCellFilesUploaded>;
        };
        file: {
            byName(filename: string): t.IUrl<{
                hash?: string | undefined;
                expires?: string | undefined;
            }>;
            byFileUri(fileUri: string, fileExtension?: string | undefined): t.IUrl<{
                hash?: string | undefined;
                expires?: string | undefined;
            }>;
        };
    };
    row(input: string | t.IUrlParamsRow): {
        uri: string;
        readonly info: t.IUrl<t.IUrlQueryRowInfo>;
    };
    column(input: string | t.IUrlParamsColumn): {
        uri: string;
        readonly info: t.IUrl<t.IUrlQueryColumnInfo>;
    };
    file(input: string | t.IUrlParamsFile): {
        uri: string;
        readonly info: t.IUrl<t.IUrlQueryFileInfo>;
        readonly download: t.IUrl<t.IUrlQueryFileDownload>;
        readonly delete: t.IUrl<t.IUrlQueryFileDelete>;
        readonly uploaded: t.IUrl<t.IUrlQueryFileUploadComplete>;
    };
    private toUrl;
}
