/**
 * Unified Scripting Module for Code Buddy
 *
 * Merges FileCommander Script (FCS) and Buddy Script into a single system.
 * Extensions: .bs (primary), .fcs (backward-compatible alias)
 *
 * Usage:
 *   buddy --script myscript.bs
 *   /script run myscript.bs
 *   /script new myscript.bs
 */
import { CodeBuddyScriptConfig, ScriptResult, Program } from './types.js';
export * from './types.js';
export { FCSLexer, Lexer, tokenize } from './lexer.js';
export { FCSParser, Parser, parse } from './parser.js';
export { FCSRuntime, Runtime, createRuntime } from './runtime.js';
export { createBuiltins, createFCSBuiltins } from './builtins.js';
export { createGrokBindings, setCodeBuddyClient, setMCPManager } from './codebuddy-bindings.js';
export type { CodeBuddyBindingsConfig } from './codebuddy-bindings.js';
export { ScriptRegistry, getScriptRegistry, initScriptRegistry, type ScriptTemplate, type ScriptCategory, } from './script-registry.js';
export { createSyncBindings, getWorkspaceTracker, resetWorkspaceTracker, WorkspaceStateTracker, type WorkspaceSnapshot, type FileState, type SessionContext, type FileDiff, type SyncBindingsConfig, } from './sync-bindings.js';
/**
 * Execute script from source code
 */
export declare function executeScript(source: string, config?: Partial<CodeBuddyScriptConfig>): Promise<ScriptResult>;
/**
 * Execute script from a file
 */
export declare function executeScriptFile(filePath: string, config?: Partial<CodeBuddyScriptConfig>): Promise<ScriptResult>;
/**
 * Validate a script without executing it
 */
export declare function validateScript(source: string): {
    valid: boolean;
    errors: string[];
};
/**
 * Format/pretty-print a script AST
 */
export declare function formatAST(ast: Program): string;
/**
 * Create a new script template
 */
export declare function createScriptTemplate(name: string, description?: string): string;
/**
 * Get script file extension
 */
export declare function getScriptExtension(): string;
/**
 * Check if a file is a Code Buddy Script
 */
export declare function isBuddyScript(filePath: string): boolean;
/**
 * Parse source and return AST (for debugging/analysis)
 */
export declare function parseScript(source: string): {
    tokens: import("./types.js").Token[];
    ast: Program;
};
/** @deprecated Use executeScript instead */
export declare const executeFCS: typeof executeScript;
/** @deprecated Use executeScriptFile instead */
export declare const executeFCSFile: typeof executeScriptFile;
/** @deprecated Use parseScript instead */
export declare const parseFCS: typeof parseScript;
/**
 * Script Manager - singleton for managing scripts
 */
declare class CodeBuddyScriptManager {
    private scripts;
    private history;
    load(filePath: string): Promise<Program>;
    execute(filePath: string, config?: Partial<CodeBuddyScriptConfig>): Promise<ScriptResult>;
    clearCache(): void;
    getHistory(): Array<{
        script: string;
        result: ScriptResult;
        timestamp: Date;
    }>;
    listScripts(dir?: string): string[];
}
export declare function getScriptManager(): CodeBuddyScriptManager;
export declare function resetScriptManager(): void;
