/**
 * Reset the placeholder counter and registry (for testing / between builds).
 */
export declare function resetPlaceholders(): void;
/**
 * Create a unique placeholder token and register the expression.
 *
 * @param type - The type of placeholder ('expr' for expressions, 'cond' for conditionals)
 * @param expr - The original expression (stored in the registry for serve-time hydration)
 * @returns A unique placeholder token string
 */
export declare function createPlaceholder(type: 'expr' | 'cond' | 'raw', expr: string): string;
/**
 * Get the registered placeholder map (all tokens created since last reset).
 * Used by the template compiler to build the CompiledTemplate.placeholders field.
 */
export declare function getPlaceholderRegistry(): PlaceholderMap;
/**
 * Extract all placeholder tokens from compiled HTML.
 *
 * @returns A map of token → expression info
 */
export declare function extractPlaceholders(html: string): PlaceholderMap;
/**
 * Replace placeholder tokens with evaluated values.
 * Uses simple string replacement for maximum performance.
 *
 * @param html - The compiled HTML with placeholder tokens
 * @param values - Map of placeholder token → resolved value
 * @returns HTML with all placeholders replaced
 */
export declare function replacePlaceholders(html: string, values: Map<string, string>): string;
/**
 * Check if HTML contains any placeholder tokens.
 */
export declare function hasPlaceholders(html: string): boolean;
/**
 * A map of placeholder tokens to their original expressions.
 */
export declare interface PlaceholderMap {
  [token: string]: {
    type: 'expr' | 'cond' | 'raw'
    expression: string
  }
}
