import type { D3plusConfig } from "./D3plusConfig.js";
/**
    Provides shared configuration, event handling, and locale management inherited by all d3plus classes.
*/
export default class BaseClass {
    _locale: string;
    _on: Record<string, (...args: unknown[]) => unknown>;
    _parent: Record<string, unknown>;
    _translate: (d: string, locale?: string) => string;
    _uuid: string;
    _configDefault?: D3plusConfig;
    _shapeConfig?: D3plusConfig;
    /**
        Invoked when creating a new class instance, and sets any default parameters.
        @private
  */
    constructor();
    /**
        Methods that correspond to the key/value pairs and returns this class.
  */
    config(): D3plusConfig;
    config(_: D3plusConfig): this;
    /**
        The locale used for all text and number formatting. Supports the locales defined in [d3plus-format](https://github.com/d3plus/d3plus-format/blob/master/src/locale.js). The locale can be a complex Object, a locale code (like "en-US"), or a 2-digit language code (like "en"). If a 2-digit code is provided, the "findLocale" function is used to identify the most approximate locale.
  
  @example
        {
          separator: "",
          suffixes: ["y", "z", "a", "f", "p", "n", "\u00b5", "m", "", "k", "M", "B", "t", "q", "Q", "Z", "Y"],
          grouping: [3],
          delimiters: {
            thousands: ",",
            decimal: "."
          },
          currency: ["$", ""]
        }
  */
    locale(): string;
    locale(_: string | object): this;
    /**
        Event listener for the specified event *typenames*. Mirrors the core [d3-selection](https://github.com/d3/d3-selection#selection_on) behavior.
  
  @example <caption>By default, listeners apply globally to all objects, however, passing a namespace with the class name gives control over specific elements:</caption>
  new Plot
    .on("click.Shape", function(d) {
      console.log("data for shape clicked:", d);
    })
    .on("click.Legend", function(d) {
      console.log("data for legend clicked:", d);
    })
  */
    on(): Record<string, (...args: unknown[]) => unknown>;
    on(_: string): ((...args: unknown[]) => unknown) | undefined;
    on(_: string, f: (...args: unknown[]) => unknown): this;
    on(_: Record<string, (...args: unknown[]) => unknown>): this;
    /**
        Parent config used by the wrapper.
  */
    parent(): Record<string, unknown>;
    parent(_: Record<string, unknown>): this;
    /**
        Defines how informational text strings should be displayed. By default, this function will try to find the string in question (which is the first argument provided to this function) inside of an internally managed translation Object. If you'd like to override to use custom text, simply pass this method your own custom formatting function.
  
  @example <caption>For example, if we wanted to only change the string "Back" and allow all other string to return in English:</caption>
  .translate(function(d) {
    return d === "Back" ? "Get outta here" : d;
  })
  */
    translate(): (d: string, locale?: string) => string;
    translate(_: (d: string, locale?: string) => string): this;
    /**
        Configuration object with key/value pairs applied as method calls on each shape.
  */
    shapeConfig(): D3plusConfig;
    shapeConfig(_: D3plusConfig): this;
}
