import * as ts from "ts-morph";
import { CompilerState } from "../CompilerState";
export declare function shouldCompileAsSpreadableList(elements: Array<ts.Expression>): boolean;
export declare function compileSpreadableList(state: CompilerState, elements: Array<ts.Expression>, compile?: (state: CompilerState, expression: ts.Expression) => string): (string | string[])[];
export declare function compileSpreadableListAndJoin(state: CompilerState, elements: Array<ts.Expression>, shouldWrapInConcat?: boolean, compile?: (state: CompilerState, expression: ts.Expression) => string): string;
export declare function compileSpreadExpression(state: CompilerState, expression: ts.Expression): string;
export declare function compileSpreadExpressionOrThrow(state: CompilerState, expression: ts.Expression): string;
export declare function compileSpreadElement(state: CompilerState, node: ts.SpreadElement): string;
