/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow strict
 */

import { type PluginItem } from '@babel/core';
import type { Options } from '@stylexjs/babel-plugin';
import type { TransformOptions } from 'lightningcss';
import type { Plugin } from 'rollup';
export type PluginOptions = $ReadOnly<{
  ...Partial<Options>,
  fileName?: string,
  babelConfig?: $ReadOnly<{
    plugins?: $ReadOnlyArray<PluginItem>,
    presets?: $ReadOnlyArray<PluginItem>,
  }>,
  useCSSLayers?:
    | boolean
    | $ReadOnly<{
        before?: $ReadOnlyArray<string>,
        after?: $ReadOnlyArray<string>,
        prefix?: string,
      }>,
  lightningcssOptions?: Omit<
    TransformOptions<{}>,
    'code' | 'filename' | 'visitor',
  >,
  ...
}>;

declare export default function stylexPlugin(
  $$PARAM_0$$?: PluginOptions,
): Plugin<>;
