import FragmentBase from '../FragmentBase.js';
import { DestructuredFragment } from '../@types';
/**
 * NetworkFragment class for network IDs.
 * @public
 */
export default class NetworkFragment extends FragmentBase {
  readonly networkAddress: 'ipv4' | 'mac';
  /**
   * @param bits - The number of bits for the fragment.
   * @param networkAddress - The type of network address to use, `"ipv4"` or `"mac"`.
   *
   * Defaults to `"ipv4"` if omitted.
   *
   * @throws `[NETWORK_ADDRESS_INVALID]` If networkAddress is not "ipv4" or "mac".
   */
  constructor(bits: number, networkAddress?: 'ipv4' | 'mac');
  getValue(): bigint;
  destructure(snowflake: number | bigint | string): DestructuredFragment;
  updateId(): void;
  /**
   * Returns the network ID.
   *
   * @remarks
   * The value is masked by the maxValue to fit in the fragment's bits.
   *
   * @returns The network ID of the machine based on a non internal network address.
   * @internal
   */
  private getNetworkId;
}
