import { Response } from "express";
import { IReturn, TypeInterazone, TypeMetod } from "../utility/utility";
import { IRaccoltaPercorsi } from "./utility";
export interface IFile {
    path: string;
    send?: (res: Response, item: IReturn) => null;
    catch?: (res: Response, error: any) => null;
}
export interface IMetodoParametri {
    percorsi?: IRaccoltaPercorsi;
    /**Specifica se il percorso dato deve essere concatenato al percorso della classe o se è da prendere singolarmente di default è falso e quindi il percorso andra a sommarsi al percorso della classe */
    percorsoIndipendente?: boolean;
    /** Specifica il tipo, questo puo essere: "get" | "put" | "post" | "patch" | "purge" | "delete" */
    tipo?: TypeMetod;
    /** specifica il percorso di una particolare, se non impostato prende il nome della classe */
    path?: string;
    /** l'interazione è come viene gestito il metodo, puo essere : "rotta" | "middleware" | "ambo" */
    interazione?: TypeInterazone;
    /** la descrizione è utile piu nel menu o in caso di output */
    descrizione?: string;
    /** il sommario è una versione piu semplice della descrizione */
    sommario?: string;
    /** */
    isFile?: IFile;
}
export declare class MetodoParametri implements IMetodoParametri {
    isFile?: IFile | undefined;
    percorsi: {
        pathGlobal: string;
        patheader: string;
        porta: number;
    };
    percorsoIndipendente: boolean;
    tipo: TypeMetod;
    path: string;
    interazione: TypeInterazone;
    Init(item: IMetodoParametri, pathAlternativo?: string): void;
    PrintStruttura(): string;
}
