import { Sardines } from './sardines';
export declare namespace Http {
    enum Protocol {
        HTTP = "http",
        HTTPS = "https",
        HTTP2 = "http2",
        HTTP3 = "http3"
    }
    interface ServiceProviderPublicInfo {
        protocol?: Protocol;
        host?: string;
        root?: string;
        port?: number;
        [key: string]: any;
    }
    enum ServiceInputParamPosition {
        body = "body",
        ctx = "ctx",
        session = "session",
        files = "files",
        header = "header",
        query = "query",
        cookies = "cookies"
    }
    enum ServiceInputParamType {
        object = "object",
        string = "string",
        number = "number",
        boolean = "boolean"
    }
    enum Method {
        GET = "get",
        PUT = "put",
        POST = "post",
        HEADER = "header",
        OPTIONS = "options",
        DEL = "del",
        DELETE = "delete"
    }
    enum ServiceResponseType {
        static = "static",
        file = "file",
        html = "html",
        render = "render",
        handler = "handler",
        json = "json",
        text = "text",
        string = "string",
        number = "number",
        boolean = "boolean"
    }
    interface ServiceResponse {
        type: ServiceResponseType;
        path?: string | any[];
    }
    interface ServiceInputParameter {
        position: ServiceInputParamPosition;
        type?: ServiceInputParamType;
        name?: string;
    }
    interface ServiceSettings {
        protocol?: Protocol;
        path?: string;
        method?: Method;
        handler?: any;
        inputParameters?: ServiceInputParameter[];
        response?: ServiceResponse;
        middlewares?: any[];
        postProcesses?: any[];
        summary?: string;
    }
    namespace Transform {
        const parseServicePath: (service: Sardines.ServiceIdentity) => string;
    }
}
//# sourceMappingURL=http.d.ts.map