import { type Method } from "@nifrajs/core/server"; export interface MethodOverrideOptions { /** * Header carrying the desired method. Default `"x-http-method-override"`. * Set `false` to disable header-based override. */ readonly header?: string | false; /** * Query parameter carrying the desired method. Disabled by default because query-tunneled writes are * easier to trigger accidentally from links/forms. Use only with CSRF protection on browser routes. */ readonly query?: string | false; /** Original request methods allowed to tunnel. Default `["POST"]`. */ readonly methods?: readonly string[]; /** Target methods accepted from the override source. Default `["PUT", "PATCH", "DELETE"]`. */ readonly allowed?: readonly Method[]; } /** * HTTP method override for clients that can only send `POST`. The middleware rewrites the request * before routing, so handlers, validation, and response hooks all see the overridden method. * * Header override is enabled by default; query override is opt-in. Form-body override is deliberately * not implemented because reading the body before routing would consume or buffer it for every write. */ export declare function methodOverride(options?: MethodOverrideOptions): import("@nifrajs/core").IdentityPlugin; //# sourceMappingURL=method-override.d.ts.map