import ts from 'typescript';
import { ScriptBuilder } from '../sb';
import { VisitOptions } from '../types';
export declare abstract class Helper<T extends ts.Node = ts.Node> {
    readonly needsGlobal: boolean;
    readonly needsGlobalOut: boolean;
    emitGlobal(_sb: ScriptBuilder, _node: T, _options: VisitOptions): void;
    emitGlobalOut(_sb: ScriptBuilder, _node: T, _options: VisitOptions): void;
    abstract emit(sb: ScriptBuilder, node: T, options: VisitOptions): void;
}
