import { type BaseComponent } from '../../base_component.js'; import { type Constructor } from '../../types.js'; /** * Trigger a file download in the browser from a component action. * * The vendored client script (assets/livewire.js's supportFileDownloads.js) * expects the whole file base64-encoded straight into the response — it * builds a Blob URL client-side and clicks an invisible `` * itself. There's no separate download route/signed URL involved; the * bytes travel inside the same `/livewire/update` response as the rest of * the component's effects. */ export declare function HandlesDownloads>(Base: T): { new (...args: any[]): { /** * @param content Raw file bytes, or a path to read from disk. * @param name The filename the browser will save the download as. * @param contentType MIME type sent to the browser (defaults to a * generic binary type — the browser doesn't need an accurate one to * save the file correctly, it only affects how it might preview it). */ download(content: Buffer | string, name: string, contentType?: string): Promise; "__#170@#id": string; "__#170@#name": string; "__#170@#viewPath": string; "__#170@#view": ReturnType; "__#170@#viewData": Record; "__#170@#router": import("@adonisjs/core/types").HttpRouterService; bindings: any; app: import("@adonisjs/core/types").ApplicationService; ctx: import("@adonisjs/http-server").HttpContext; __setRouter(router: import("@adonisjs/core/types").HttpRouterService): void; __getRouter(): import("@adonisjs/core/types").HttpRouterService; __id: string; __name: string; viewPath: string; view: ReturnType; viewData: Record; setId(id: string): void; getId(): string; setName(name: string): void; setViewPath(view: string): void; getName(): string; render(): Promise; skipRender(html?: string): void; transition(type?: string): void; skipTransition(): void; shouldSkipRender(): boolean; skipMount(): void; skipHydrate(): void; }; } & T;