import ts from 'typescript';
import { ScriptBuilder } from '../../sb';
import { VisitOptions } from '../../types';
import { Helper } from '../Helper';
declare type Prop = (options: VisitOptions) => void;
interface Properties {
    readonly [key: string]: Prop;
}
export interface CreateClassHelperOptions {
    readonly ctor?: (options: VisitOptions) => void;
    readonly prototypeMethods?: Properties;
    readonly prototypeSymbolMethods?: Properties;
    readonly classMethods?: Properties;
    readonly classSymbolMethods?: Properties;
}
export declare class CreateClassHelper extends Helper {
    private readonly ctor?;
    private readonly prototypeMethods;
    private readonly prototypeSymbolMethods;
    private readonly classMethods;
    private readonly classSymbolMethods;
    constructor(options: CreateClassHelperOptions);
    emit(sb: ScriptBuilder, node: ts.Node, optionsIn: VisitOptions): void;
}
export {};
