export interface TrailingSlashOptions { /** Redirect (default) or route internally with a rewritten URL. */ readonly mode?: "redirect" | "rewrite"; /** Redirect status. Default `308` (method-preserving permanent redirect). */ readonly status?: 301 | 302 | 307 | 308; /** Methods affected. Default `["GET", "HEAD"]`; add write methods only when you want 308 redirects. */ readonly methods?: readonly string[]; /** Skip paths whose last segment looks like a file (`/app.css`). Default `true` for append mode. */ readonly ignoreFileExtensions?: boolean; /** App-specific skip predicate. */ readonly ignore?: (path: string, request: Request) => boolean; } /** * Remove trailing slashes from non-root paths. Redirect mode is the production default because it * canonicalizes URLs for clients and caches; rewrite mode is available for compatibility migrations. */ export declare function trimTrailingSlash(options?: TrailingSlashOptions): import("@nifrajs/core").IdentityPlugin; /** * Append a trailing slash to non-root paths. By default it skips file-looking paths such as * `/app.css`, which keeps static assets and extensionful API routes stable. */ export declare function appendTrailingSlash(options?: TrailingSlashOptions): import("@nifrajs/core").IdentityPlugin; //# sourceMappingURL=trailing-slash.d.ts.map