import { CustomTypeModelNestedGroupField } from "./group.cjs";
import { CustomTypeModelSliceType } from "./sliceZone.cjs";
import { CustomTypeModelFieldForNestedGroup } from "./types.cjs";

//#region src/types/model/slice.d.ts
/**
 * A Slice for a custom type.
 *
 * More details: {@link https://prismic.io/docs/slice}
 *
 * @typeParam NonRepeatFields - A record of fields that cannnot be repeated.
 * @typeParam RepeatFields - A record of fields that can be repeated.
 */
interface CustomTypeModelSlice<NonRepeatFields extends Record<string, CustomTypeModelFieldForNestedGroup> = Record<string, CustomTypeModelFieldForNestedGroup>, RepeatFields extends Record<string, CustomTypeModelFieldForNestedGroup> = Record<string, CustomTypeModelFieldForNestedGroup>> {
  type: typeof CustomTypeModelSliceType.Slice;
  fieldset?: string | null;
  description?: string;
  icon?: string;
  display?: (typeof CustomTypeModelSliceDisplay)[keyof typeof CustomTypeModelSliceDisplay] | string;
  "non-repeat"?: NonRepeatFields;
  repeat?: RepeatFields;
}
/**
 * Display type for a Slice.
 *
 * More details: {@link https://prismic.io/docs/slice}
 */
declare const CustomTypeModelSliceDisplay: {
  readonly List: "list";
  readonly Grid: "grid";
};
/** @deprecated - Legacy slice type. Do not use. */
type CustomTypeModelLegacySlice = CustomTypeModelNestedGroupField | CustomTypeModelFieldForNestedGroup;
//#endregion
export { CustomTypeModelLegacySlice, CustomTypeModelSlice, CustomTypeModelSliceDisplay };
//# sourceMappingURL=slice.d.cts.map