import * as _$_stryker_mutator_api_plugin0 from "@stryker-mutator/api/plugin";
import { Injector, PluginContext, PluginKind } from "@stryker-mutator/api/plugin";
import { StrykerOptions } from "@stryker-mutator/api/core";
import { Ignorer, NodePath } from "@stryker-mutator/api/ignore";

//#region \0rolldown/runtime.js
declare namespace log_ignorer_options_json_d_exports {
  export { $schema, additionalProperties, __json_default_export as default, properties, title, type };
}
declare let $schema: string;
declare let type: string;
declare let title: string;
declare let additionalProperties: boolean;
declare namespace properties {
  namespace logignore {
    export let description: string;
    let title_1: string;
    export { title_1 as title };
    let additionalProperties_1: boolean;
    export { additionalProperties_1 as additionalProperties };
    let type_1: string;
    export { type_1 as type };
    let _default: {};
    export { _default as default };
    export namespace properties_1 {
      namespace objectNames {
        let description_1: string;
        export { description_1 as description };
        let type_2: string;
        export { type_2 as type };
        export namespace items {
          let type_3: string;
          export { type_3 as type };
        }
        let _default_1: string[];
        export { _default_1 as default };
      }
    }
    export { properties_1 as properties };
  }
}
declare namespace __json_default_export {
  export { $schema, type, title, additionalProperties, properties };
}
//#endregion
//#region src/index.d.ts
/**
 * Configuration for @sgohlke/stryker-log-ignorer
 */
interface IgnorerOptions {
  /**
   * Specify the object names of the logger objects to be ignored. Defaults to ["console"]
   */
  objectNames?: string[];
}
interface LogIgnorerOptions extends StrykerOptions {
  logignore?: IgnorerOptions;
}
declare class LogIgnorer implements Ignorer {
  static inject: readonly ["options"];
  protected readonly options?: IgnorerOptions;
  constructor(options?: Partial<LogIgnorerOptions>);
  shouldIgnore(path: NodePath): string | undefined;
}
declare function logIgnorerFactory(injector: Injector<PluginContext>): LogIgnorer;
declare namespace logIgnorerFactory {
  var inject: ["$injector"];
}
declare function createLogIgnorerFactory(): {
  (injector: Injector<PluginContext>): LogIgnorer;
  inject: ['$injector'];
};
declare const strykerPlugins: _$_stryker_mutator_api_plugin0.FactoryPlugin<PluginKind.Ignore, ["$injector"]>[];
declare const strykerValidationSchema: typeof log_ignorer_options_json_d_exports;
//#endregion
export { type IgnorerOptions, LogIgnorer, type LogIgnorerOptions, createLogIgnorerFactory, logIgnorerFactory, strykerPlugins, strykerValidationSchema };
//# sourceMappingURL=index.d.mts.map