import { Imm } from 'ts-imm';
import { CodeBlock } from './CodeBlock';
import { CodeWriter } from './CodeWriter';
import { SymbolSpec } from './SymbolSpecs';
/** A generated function or class decorator declaration. */
export declare class DecoratorSpec extends Imm<DecoratorSpec> {
    static create(name: string | SymbolSpec): DecoratorSpec;
    static fromMaybeString(decorator: DecoratorSpec | string | SymbolSpec, data?: Partial<DecoratorSpec>): DecoratorSpec;
    readonly name: SymbolSpec;
    readonly parameters: Array<CodeBlock>;
    readonly factory: boolean;
    emit(codeWriter: CodeWriter, inline?: boolean): void;
    asFactory(): this;
    addParameter(format: string, ...args: unknown[]): this;
    addParameterBlock(codeBlock: CodeBlock): this;
    toString(): string;
}
