/**
 * VegaNonceManager is responsible for managing the CSP nonce value.
 */
export declare class VegaNonceManager {
  /**
   * The Content Security Policy nonce value (private).
   */
  private _nonce?;
  /**
   * Creates a new instance of the nonce manager.
   *
   * If a `nonce` is provided, it will be used as the internal nonce value.
   * If not provided, and if the environment supports `tryGetDocument`, attempts to retrieve
   * the nonce from a meta tag with the name "csp-nonce" in the document.
   *
   * @param {string | undefined} nonce - An optional string representing the CSP nonce to use.
   */
  constructor(nonce?: string);
  /**
   * Sets the Content Security Policy (CSP) nonce value.
   *
   * @param {string | undefined} nonce - The nonce string to be set, or `undefined` to clear the nonce.
   */
  set nonce(nonce: string | undefined);
  /**
   * Gets the current Content Security Policy (CSP) nonce value.
   *
   * @returns {string | undefined} The current nonce string, or `undefined` if not set.
   */
  get nonce(): string | undefined;
  /**
   * Monkey-patches document.head.insertBefore to automatically add the CSP nonce
   * to dynamically injected <style> elements with the 'data-styles' attribute.
   *
   * This ensures that styles injected at runtime comply with the Content Security Policy.
   */
  patchHeadInsertBeforeWithNonceToStencil(): void;
}
/**
 * Singleton instance of the {@link VegaNonceManager} used to manage CSP nonce across the application.
 */
export declare const vegaNonceManager: VegaNonceManager;
/**
 * Sets the nonce value used by the Vega nonce manager.
 *
 * This function updates the `nonce` property of the global `vegaNonceManager`
 * object with the provided nonce string. The nonce is typically used for
 * Content Security Policy (CSP) compliance when dynamically injecting scripts or styles.
 *
 * @param {string | undefined} nonce - The nonce string to be set for CSP compliance.
 */
export declare function setVegaNonce(nonce: string | undefined): void;
