import type { JSONSupport } from "../../../../core/JSONSupport.js";
import type { ExportCircuitsResultType } from "../../../../networks/support/jsonTypes.js";

/** @since 5.0 */
export interface ExportCircuitsParametersProperties extends Partial<Pick<ExportCircuitsParameters, "circuitNames" | "exportAcknowledgement" | "resultTypes">> {}

/** @since 5.0 */
export default class ExportCircuitsParameters extends JSONSupport {
  constructor(properties?: ExportCircuitsParametersProperties);
  /**
   * The names of the circuit or circuits to be exported.
   *
   * @since 5.0
   */
  accessor circuitNames: string[];
  /**
   * Specifies whether the export is acknowledged.
   *   If true, the default version is required for the utility network's `gdbVersion`.
   *
   * @default false
   * @since 5.0
   */
  accessor exportAcknowledgement: boolean;
  /**
   * The types of results to return.
   * If unspecified, the default is `features`.
   *
   * @since 5.0
   */
  accessor resultTypes: ExportCircuitsResultType[] | null | undefined;
}