/**
 * FileCommander Script (FCS) Types
 *
 * 100% compatible with FileCommander Enhanced Script language
 */
// ============================================
// Token Types (matching FCS exactly)
// ============================================
export var TokenType;
(function (TokenType) {
    // Literals
    TokenType["Number"] = "Number";
    TokenType["String"] = "String";
    TokenType["Boolean"] = "Boolean";
    TokenType["Null"] = "Null";
    TokenType["Regex"] = "Regex";
    // Identifiers and Keywords
    TokenType["Identifier"] = "Identifier";
    TokenType["Keyword"] = "Keyword";
    // Operators
    TokenType["Plus"] = "Plus";
    TokenType["Minus"] = "Minus";
    TokenType["Multiply"] = "Multiply";
    TokenType["Divide"] = "Divide";
    TokenType["Modulo"] = "Modulo";
    TokenType["Power"] = "Power";
    // Comparison
    TokenType["Equal"] = "Equal";
    TokenType["NotEqual"] = "NotEqual";
    TokenType["Less"] = "Less";
    TokenType["Greater"] = "Greater";
    TokenType["LessEqual"] = "LessEqual";
    TokenType["GreaterEqual"] = "GreaterEqual";
    // Logical
    TokenType["And"] = "And";
    TokenType["Or"] = "Or";
    TokenType["Not"] = "Not";
    // Assignment
    TokenType["Assign"] = "Assign";
    TokenType["PlusAssign"] = "PlusAssign";
    TokenType["MinusAssign"] = "MinusAssign";
    TokenType["MultiplyAssign"] = "MultiplyAssign";
    TokenType["DivideAssign"] = "DivideAssign";
    // Delimiters
    TokenType["LeftParen"] = "LeftParen";
    TokenType["RightParen"] = "RightParen";
    TokenType["LeftBrace"] = "LeftBrace";
    TokenType["RightBrace"] = "RightBrace";
    TokenType["LeftBracket"] = "LeftBracket";
    TokenType["RightBracket"] = "RightBracket";
    // Punctuation
    TokenType["Semicolon"] = "Semicolon";
    TokenType["Comma"] = "Comma";
    TokenType["Dot"] = "Dot";
    TokenType["Colon"] = "Colon";
    TokenType["Arrow"] = "Arrow";
    TokenType["Pipeline"] = "Pipeline";
    // Special
    TokenType["Comment"] = "Comment";
    TokenType["Newline"] = "Newline";
    TokenType["Indent"] = "Indent";
    TokenType["Dedent"] = "Dedent";
    TokenType["EOF"] = "EOF";
    // Decorators
    TokenType["Decorator"] = "Decorator";
})(TokenType || (TokenType = {}));
// ============================================
// FCS Keywords (matching FileCommander exactly)
// ============================================
export const FCS_KEYWORDS = new Set([
    // Control flow
    'if', 'else', 'elif', 'while', 'for', 'break', 'continue', 'return',
    'switch', 'case', 'default', 'do', 'until',
    // Declarations
    'let', 'const', 'var', 'func', 'function', 'class', 'struct', 'enum', 'namespace',
    // Types
    'int', 'float', 'string', 'bool', 'array', 'dict', 'set', 'any', 'void',
    // Values
    'true', 'false', 'null', 'undefined',
    // Operators
    'in', 'is', 'as', 'typeof', 'sizeof', 'new', 'delete',
    // Exception handling
    'try', 'catch', 'finally', 'throw',
    // Async
    'async', 'await', 'promise',
    // Import/Export
    'import', 'export', 'from',
    // Special
    'with', 'using', 'global', 'local', 'static', 'public', 'private', 'protected',
    // FileCommander specific
    'editor', 'file', 'panel', 'command', 'test', 'assert', 'expect',
    'select', 'cursor', 'view', 'window', 'dialog',
    // Note: 'codebuddy', 'ai', 'bash', 'shell', 'git', 'mcp', 'tool', 'context',
    // 'agent', 'session' are NOT keywords - they are builtin namespace objects
    // and should be tokenized as identifiers
]);
export const DEFAULT_FCS_CONFIG = {
    workdir: process.cwd(),
    timeout: 300000,
    enableAI: true,
    enableBash: true,
    enableFileOps: true,
    verbose: false,
    dryRun: false,
};
//# sourceMappingURL=types.js.map