import { ActionResult, Facility, Invocation, Middleware, PlumierApplication } from "@plumjs/core"; import { Context } from "koa"; export interface ServeStaticOptions { /** * Root directory of static assets **/ root: string; /** * Browser cache max-age in milliseconds. (defaults to 0) **/ maxAge?: number; /** * Tell the browser the resource is immutable and can be cached indefinitely. (defaults to false) **/ immutable?: boolean; /** * Try to serve the gzipped version of a file automatically when gzip is supported by a client and if the requested file with .gz extension exists. (defaults to true). **/ gzip?: boolean; /** * Try to serve the brotli version of a file automatically when brotli is supported by a client and if the requested file with .br extension exists. (defaults to true). **/ brotli?: boolean; } export declare class FileActionResult extends ActionResult { private opt?; constructor(path: string, opt?: ServeStaticOptions | undefined); execute(ctx: Context): Promise; } export declare class ServeStaticMiddleware implements Middleware { option: ServeStaticOptions; constructor(option: ServeStaticOptions); execute(invocation: Readonly): Promise; } export declare class ServeStaticFacility implements Facility { option: ServeStaticOptions; constructor(option: ServeStaticOptions); setup(app: Readonly): Promise; }