/* eslint-disable prefer-const, style/max-statements-per-line, no-super-linear-backtracking, regexp/no-unused-capturing-group */
/**
 * x-element: Lightweight two-way binding for STX
 *
 * Provides client-side reactivity for forms and interactive elements:
 * - x-data: Define reactive data scope
 * - x-model: Two-way binding for inputs
 * - x-text: Reactive text content
 * - x-show: Toggle visibility based on expression
 * - :class: Bind CSS classes from object expression
 * - :disabled, :href, :src, etc.: Bind any attribute
 * - @event: Event handling (e.g., @click, @submit.prevent)
 *
 * Note: Use @if, @for, @foreach for server-side rendering.
 * x-element is only for client-side interactivity that SSR can't handle.
 *
 * @example
 * ```html
 * <div x-data="{ email: '', loading: false, success: false }">
 *   <form @submit.prevent="subscribe()">
 *     <input x-model="email" type="email" />
 *     <button type="submit" :disabled="loading">
 *       <span x-text="loading ? 'Sending...' : 'Subscribe'"></span>
 *     </button>
 *   </form>
 *   <p x-show="success" x-text="'Thanks for subscribing!'"></p>
 * </div>
 * ```
 */
/**
 * Generate the x-element runtime script
 * This is injected once per page that uses x-* directives
 */
export declare function generateXElementRuntime(): string;
/**
 * Check if template uses x-* directives
 */
export declare function hasXElementDirectives(template: string): boolean;
/**
 * Process x-element directives in template
 * Injects the runtime if x-* directives are found
 */
export declare function processXElementDirectives(template: string): string;
