import type { SandboxClientConfig } from '../../../genui/sandbox-kit.js';
/** The event the Vite plugin's HMR bridge dispatches on `window` when the kit was rebuilt (dev). */
export declare const SANDBOX_KIT_UPDATE_EVENT = "genui-sandbox-kit:update";
/**
 * Where a sandbox renderer learns about the theme, Tailwind and the kit: an object, a url answering
 * `GET <agent>/config` (or the sandbox config itself), or — by default — the agent's own `/config`
 * through the enclosing `AgentProvider` (same origin `/agent` without one). `false`: none (theme on).
 */
export type SandboxConfigSource = SandboxClientConfig | string | false;
/** The sandbox's client config — `undefined` while it loads. */
export declare function useSandboxClientConfig(source: SandboxConfigSource | undefined): {
    config: SandboxClientConfig | undefined;
    loading: boolean;
};
/** Fetch an asset's text once per url (same origin), shared by every sandbox on the page. */
export declare function loadSandboxAsset(url: string): Promise<string | null>;
/**
 * An asset's text: `undefined` while it loads, `null` when it could not be had (or no url). The kit
 * follows the dev server's rebuilds (`genui-sandbox-kit:update`): a new url, fetched afresh.
 */
export declare function useSandboxAsset(url: string | undefined, options?: {
    kit?: boolean;
    css?: boolean;
    name?: string;
}): string | null | undefined;
/** The host page's theme now, and as it changes: the frame's `:root` CSS, dark or not, its mode attributes, Tailwind's `@theme`. */
export interface HostTheme {
    css: string;
    dark: boolean;
    /** The host root's light/dark attributes (`data-theme`, `data-bs-theme`…), mirrored on the frame's. */
    attributes: Record<string, string>;
    tailwind: string;
}
/** The host's theme, kept current (class / `data-theme` / color-scheme changes). `null` when off. */
export declare function useHostTheme(enabled: boolean): HostTheme | null;
//# sourceMappingURL=sandbox-assets.d.ts.map