import { FieldWidth, LucidPlugin } from "@lucidcms/core/types";

//#region src/types/types.d.ts
type CollectionPrefix = string | Record<string, string>;
type PagesFieldKey = "fullSlug" | "slug" | "parentPage";
type CollectionUnique = boolean | {
  /**
   * Top-level field keys to include in fullSlug uniqueness checks.
   * Documents only conflict when fullSlug and these field values match.
   * Supported field types: text, textarea, select, number, datetime,
   * relation, media, and user.
   */
  fields?: string[];
};
interface CollectionUI {
  fullSlug?: boolean;
  tab?: string;
  widths?: Partial<Record<PagesFieldKey, FieldWidth>>;
}
interface PluginOptions {
  collections: Array<{
    key: string;
    localized?: boolean;
    prefix?: CollectionPrefix;
    ui?: CollectionUI;
    unique?: CollectionUnique;
  }>;
}
//#endregion
//#region src/plugin.d.ts
declare const plugin: LucidPlugin<PluginOptions>;
//#endregion
export { plugin as default, plugin as pagesPlugin };
//# sourceMappingURL=index.d.mts.map