import { BasicBuilder } from './BasicBuilder'; import type { KeyType } from './KeyType'; import { Writer } from './Writer'; export declare abstract class TypeBuilder implements BasicBuilder { needsParenthesisWhenIndexed: boolean; needsParenthesisInKeyof: boolean; needsParenthesisInUnion: boolean; needsParenthesisInIntersection: boolean; abstract write(writer: Writer): void; subKey(key: string): KeyType; writeIndexed(writer: Writer): void; }