Repository: angular/angular
File: adev/shared-docs/pipeline/api-gen/rendering/entities/renderables.mts (TypeScript)

Code before:
    members: MemberEntryRenderable[];
  };

export type FunctionEntryRenderable = FunctionEntry &
  DocEntryRenderable &
  HasRenderableToc & {
    deprecationMessage: string | null;
  };

export type FunctionSignatureMetadataRenderable = FunctionSignatureMetadata &
  DocEntryRenderable & {
    params: ParameterEntryRenderable[];
  };

/** Sub-entry for a single class or enum member augmented with transformed content for rendering. */
export interface MemberEntryRenderable extends MemberEntry {
  htmlDescription: string;
  jsdocTags: JsDocTagRenderable[];
  deprecationMessage: string | null;
  htmlUsageNotes: string;

  stable: {version: string | undefined} | undefined;
  deprecated: {version: string | undefined} | undefined;
  developerPreview: {version: string | undefined} | undefined;
  experimental: {version: string | undefined} | undefined;
}

/** Sub-entry for a class method augmented transformed content for rendering. */
export type MethodEntryRenderable = MemberEntryRenderable &
  FunctionEntryRenderable & {
    params: ParameterEntryRenderable[];
  };

/** Sub-entry for a single function parameter augmented transformed content for rendering. */
export interface ParameterEntryRenderable extends ParameterEntry {
  htmlDescription: string;
}

export interface CodeLineRenderable {
  contents: string;
  isDeprecated: boolean;
  id?: string;
}

export interface LinkEntryRenderable {
  label: string;
  url: string;
  title?: string;
}

export type CliOptionRenderable = CliOption & {

Review comment (suggestion):
Nit: I typically recommend `?` over `| undefined` to be more ergonomic.

Code after:
    members: MemberEntryRenderable[];
  };

export type FunctionEntryRenderable = FunctionEntry &
  DocEntryRenderable &
  HasRenderableToc & {
    deprecationMessage: string | null;
  };

export type FunctionSignatureMetadataRenderable = FunctionSignatureMetadata &
  DocEntryRenderable & {
    params: ParameterEntryRenderable[];
  };

/** Sub-entry for a single class or enum member augmented with transformed content for rendering. */
export interface MemberEntryRenderable extends MemberEntry {
  htmlDescription: string;
  jsdocTags: JsDocTagRenderable[];
  deprecationMessage: string | null;
  htmlUsageNotes: string;
  displayName?: string;

  stable: {version: string | undefined} | undefined;
  deprecated: {version: string | undefined} | undefined;
  developerPreview: {version: string | undefined} | undefined;
  experimental: {version: string | undefined} | undefined;
}

/** Sub-entry for a class method augmented transformed content for rendering. */
export type MethodEntryRenderable = MemberEntryRenderable &
  FunctionEntryRenderable & {
    params: ParameterEntryRenderable[];
  };

/** Sub-entry for a single function parameter augmented transformed content for rendering. */
export interface ParameterEntryRenderable extends ParameterEntry {
  htmlDescription: string;
}

export interface CodeLineRenderable {
  contents: string;
  isDeprecated: boolean;
  id?: string;
}

export interface LinkEntryRenderable {
  label: string;
  url: string;
  title?: string;
}