import type { Signal } from '@nonoun/native-core'; export interface GatewayOptions { /** Parse the fetch response into a string. Default: `res.text()` */ parse?: (res: Response) => Promise; /** Build the save request body from content. Default: plain text body */ serialize?: (content: string) => BodyInit; /** Content-Type header for save requests. Default: `text/plain` */ contentType?: string; } export declare class GatewayController { #private; readonly host: HTMLElement; /** True while a load request is in-flight. */ readonly loading: Signal; /** True while a save request is in-flight. */ readonly saving: Signal; /** Last error message, or null. */ readonly error: Signal; /** True when content has changed since the last load or save. */ readonly dirty: Signal; constructor(host: HTMLElement, options?: GatewayOptions); load(url: string): Promise; save(url: string, content: string): Promise; markDirty(): void; markClean(): void; abort(): void; destroy(): void; } //# sourceMappingURL=gateway-controller.d.ts.map