import type { ASTNode } from '../../types/core';
import type { Position, IdentifierNode, LiteralNode, BinaryExpressionNode, UnaryExpressionNode, CallExpressionNode, MemberExpressionNode, SelectorNode, PossessiveExpressionNode, BlockNode, StringLiteralNode, ObjectLiteralNode, ArrayLiteralNode, PropertyOfExpressionNode, CommandSequenceNode } from '../parser-types';
export declare function createLiteral(value: unknown, raw: string, pos: Position): LiteralNode;
export declare function createIdentifier(name: string, pos: Position): IdentifierNode;
export declare function createBinaryExpression(operator: string, left: ASTNode, right: ASTNode, pos: Position): BinaryExpressionNode;
export declare function createUnaryExpression(operator: string, argument: ASTNode, prefix: boolean, pos: Position): UnaryExpressionNode;
export declare function createCallExpression(callee: ASTNode, args: ASTNode[], pos: Position): CallExpressionNode;
export declare function createMemberExpression(object: ASTNode, property: ASTNode, computed: boolean, pos: Position): MemberExpressionNode;
export declare function createSelector(value: string, pos: Position): SelectorNode;
export declare function createPossessiveExpression(object: ASTNode, property: ASTNode, pos: Position): PossessiveExpressionNode;
export declare function createBlock(commands: ASTNode[], pos: Position): BlockNode;
export declare function createStringLiteral(value: string, pos: Position): StringLiteralNode;
export declare function createObjectLiteral(properties: Array<{
    key: ASTNode;
    value: ASTNode;
}>, pos: Position): ObjectLiteralNode;
export declare function createArrayLiteral(elements: ASTNode[], pos: Position): ArrayLiteralNode;
export declare function createPropertyOfExpression(property: ASTNode, target: ASTNode, pos: Position): PropertyOfExpressionNode;
export declare function createCommandSequence(commands: ASTNode[]): CommandSequenceNode;
export declare function createErrorNode(pos: Position): IdentifierNode;
export declare function createProgramNode(statements: ASTNode[]): ASTNode;
//# sourceMappingURL=ast-helpers.d.ts.map