import { InterfaceValueNode } from './InterfaceValueNode';
import { Node } from './Node';
/**
 * Generates a TypeScript interface.
 */
export declare class InterfaceNode implements Node {
    readonly def: string;
    readonly name: string;
    readonly doc: string;
    readonly extend: string[];
    readonly values: InterfaceValueNode[];
    newLines: number;
    constructor({ def, name, doc, extend, values, }: {
        def: string;
        name: string;
        doc?: string;
        extend?: string[];
        values?: InterfaceValueNode[];
    });
    generateCode(out: (code: string) => void): void;
    get types(): string[];
    private generateInterface;
    private generateType;
}
