import { GenericParameter } from './GenericParameter'; import { Method } from './Method'; import { NamedType } from './NamedType'; import { Property } from './Property'; import { TypeBuilder } from './TypeBuilder'; import { Writer } from './Writer'; type InterfaceItem = Method | Property; export declare class InterfaceDeclaration extends TypeBuilder { readonly name: string; needsParenthesisWhenIndexed: boolean; private items; private genericParameters; private extendedTypes; constructor(name: string); add(item: InterfaceItem): this; addMultiple(items: InterfaceItem[]): this; addGenericParameter(param: GenericParameter): this; extends(type: NamedType): this; write(writer: Writer): void; } export declare function interfaceDeclaration(name: string): InterfaceDeclaration; export {};