import { Initializer } from '#common/initializer';
import { Class } from './class';
import { Delegate } from './delegate';
import { Import } from './import';
import { Interface } from './interface';
import { Project } from './project';
export declare class Namespace extends Initializer {
    name: string;
    protected parent?: Namespace | Project | undefined;
    private usings;
    private classes;
    private interfaces;
    private delegates;
    private namespaces;
    private folder;
    header: string;
    constructor(name: string, parent?: Namespace | Project | undefined, objectInitializer?: Partial<Namespace>);
    readonly outputFolder: string;
    addUsing(using: Import): Import;
    addClass(c: Class): Class;
    addInterface(i: Interface): Interface;
    addDelegate(delegate: Delegate): Delegate;
    addNamespace(n: Namespace): Namespace;
    add<T extends object>(item: T & (Class | Namespace | Interface | Import)): T;
    findClassByName(name: string): Class[];
    readonly fullName: string;
    toString(): string;
    writeFiles(writer: (filename: string, content: string) => Promise<void>): Promise<void>;
    protected render(content: string): string;
}
//# sourceMappingURL=namespace.d.ts.map