import type { IncomingMessage, ServerResponse } from 'node:http';
import { type DevRefreshOptions } from './browser.js';
export { DEFAULT_DEV_REFRESH_PATH, DEFAULT_DEV_REFRESH_PORT, type DevRefreshOptions } from './browser.js';
declare global {
    interface Window {
        __gradialDevRefresh?: boolean;
    }
}
export interface GradialContentWatchOptions extends DevRefreshOptions {
    contentRoot?: string;
    compiledRoot?: string;
    enabled?: boolean;
}
interface ViteDevServerLike {
    middlewares?: {
        use(path: string, handler: (req: IncomingMessage, res: ServerResponse, next: () => void) => void): void;
    };
    watcher: {
        add(path: string): void;
        on(event: string, callback: (eventName: string, filePath: string) => void): void;
    };
    ws: {
        send(payload: unknown): void;
    };
}
export interface VitePluginLike {
    name: string;
    apply?: 'serve' | 'build';
    configureServer?(server: ViteDevServerLike): void;
    transformIndexHtml?(html: string): string;
}
export declare function devRefreshPort(options?: DevRefreshOptions): number;
export declare function devRefreshScript(options?: DevRefreshOptions): string;
export declare function devRefreshScriptTag(options?: DevRefreshOptions): string;
export declare function gradialContentWatchPlugin(options?: GradialContentWatchOptions): VitePluginLike;
export declare function gradialDamAssetPlugin(options?: GradialContentWatchOptions): VitePluginLike;
