import { extractBalancedExpression, findMatchingDelimiter, splitByPipe, Tokenizer } from './tokenizer';
/**
 * Find all template expressions in source ({{ }} and {!! !!})
 */
export declare function findExpressions(source: string): ExpressionMatch[];
/**
 * Parse an expression with optional filter chain
 * e.g., "value | uppercase | truncate(10)" -> { baseExpression: "value", filters: [...] }
 */
export declare function parseExpressionWithFilters(expression: string): ParsedExpression;
/**
 * Parse comma-separated arguments, respecting nesting
 */
export declare function parseArguments(argsString: string): string[];
/**
 * Extract directive parameters from parentheses
 * e.g., "@foreach($items as $item)" -> "$items as $item"
 */
export declare function extractDirectiveParams(source: string, directiveEnd: number): {
  params: string
  endPos: number
} | null;
/**
 * Parse script content and extract declarations
 */
export declare function parseScriptDeclarations(scriptContent: string): ScriptDeclaration[];
// =============================================================================
// Expression Extraction
// =============================================================================
export declare interface ExpressionMatch {
  fullMatch: string
  expression: string
  start: number
  end: number
  isRaw: boolean
}
// =============================================================================
// Filter Parsing
// =============================================================================
export declare interface FilterCall {
  name: string
  args: string[]
}
export declare interface ParsedExpression {
  baseExpression: string
  filters: FilterCall[]
}
// =============================================================================
// Script Parsing Utilities
// =============================================================================
export declare interface ScriptDeclaration {
  type: 'variable' | 'function'
  name: string
  value: string
  exported: boolean
  start: number
  end: number
}
// Re-export tokenizer utilities
export { extractBalancedExpression, findMatchingDelimiter, splitByPipe, Tokenizer };
