# https://jsr.io/@scope/a/meta.json
{"versions": { "1.0.0": {} } }

# https://jsr.io/@scope/a/1.0.0_meta.json
{ "exports": { ".": "./mod.ts" } }

# https://jsr.io/@scope/a/1.0.0/mod.ts
export class RedBlackNode<T> extends BinarySearchNode<T> {
  declare parent: RedBlackNode<T> | null;
  declare left: RedBlackNode<T> | null;
  declare right: RedBlackNode<T> | null;
  red: boolean;

  constructor(parent: RedBlackNode<T> | null, value: T) {
    super(parent, value);
    this.red = true;
  }

  static override from<T>(node: RedBlackNode<T>): RedBlackNode<T> {
    const copy: RedBlackNode<T> = new RedBlackNode(node.parent, node.value);
    copy.left = node.left;
    copy.right = node.right;
    copy.red = node.red;
    return copy;
  }
}

const isSecure: Symbol = Symbol("#secure");
const public2: Symbol = Symbol("#public");

export class CookieMapBase {
  [isSecure] = false;
  [public2](): number {
    return 5;
  }
}

export abstract class Bar {
  abstract foo: string;
  bar: number;
}

export class Baz extends Bar {
  override foo = "";
}

export class ReadonlyPropConstant {
  readonly static value = "value";
}

# mod.ts
import 'jsr:@scope/a'

# output
{
  "roots": [
    "file:///mod.ts"
  ],
  "modules": [
    {
      "kind": "esm",
      "dependencies": [
        {
          "specifier": "jsr:@scope/a",
          "code": {
            "specifier": "jsr:@scope/a",
            "resolutionMode": "import",
            "span": {
              "start": {
                "line": 0,
                "character": 7
              },
              "end": {
                "line": 0,
                "character": 21
              }
            }
          }
        }
      ],
      "size": 22,
      "mediaType": "TypeScript",
      "specifier": "file:///mod.ts"
    },
    {
      "kind": "esm",
      "size": 941,
      "mediaType": "TypeScript",
      "specifier": "https://jsr.io/@scope/a/1.0.0/mod.ts"
    }
  ],
  "redirects": {
    "jsr:@scope/a": "https://jsr.io/@scope/a/1.0.0/mod.ts"
  },
  "packages": {
    "@scope/a@*": "@scope/a@1.0.0"
  }
}

Fast check https://jsr.io/@scope/a/1.0.0/mod.ts:
  {}
  export class RedBlackNode<T> extends BinarySearchNode<T> {
    declare parent: RedBlackNode<T> | null;
    declare left: RedBlackNode<T> | null;
    declare right: RedBlackNode<T> | null;
    declare red: boolean;
    constructor(parent: RedBlackNode<T> | null, value: T){
      super({} as never, {} as never);
    }
    static override from<T>(node: RedBlackNode<T>): RedBlackNode<T> {
      return {} as never;
    }
  }
  const isSecure: Symbol = {} as never;
  const public2: Symbol = {} as never;
  export class CookieMapBase {
    declare [isSecure]: boolean;
    [public2](): number {
      return {} as never;
    }
  }
  export abstract class Bar {
    declare abstract foo: string;
    declare bar: number;
  }
  export class Baz extends Bar {
    declare foo: string;
  }
  export class ReadonlyPropConstant {
    declare static readonly value: "value";
  }
  --- DTS ---
  export declare class RedBlackNode<T> extends BinarySearchNode<T> {
    parent: RedBlackNode<T> | null;
    left: RedBlackNode<T> | null;
    right: RedBlackNode<T> | null;
    red: boolean;
    constructor(parent: RedBlackNode<T> | null, value: T);
    static override from<T>(node: RedBlackNode<T>): RedBlackNode<T>;
  }
  declare const isSecure: Symbol;
  declare const public2: Symbol;
  export declare class CookieMapBase {
    [isSecure]: boolean;
    [public2](): number;
  }
  export declare abstract class Bar {
    abstract foo: string;
    bar: number;
  }
  export declare class Baz extends Bar {
    foo: string;
  }
  export declare class ReadonlyPropConstant {
    static readonly value: "value";
  }
