import FieldBuilder from "../field-builder/index.mjs";
import BrickBuilder from "../brick-builder/index.mjs";
import { CFProps } from "../../custom-fields/types.mjs";
import { CollectionBrickConfig, CollectionConfigSchemaType, CollectionData, CollectionLabelFieldOptions, CollectionListFieldOptions } from "./types.mjs";

//#region src/libs/collection/builders/collection-builder/index.d.ts
declare class CollectionBuilder<const TCollectionKey extends string = string> extends FieldBuilder {
  #private;
  key: TCollectionKey;
  config: CollectionConfigSchemaType<TCollectionKey>;
  listing: string[];
  labelFields: string[];
  constructor(key: TCollectionKey, config: Omit<CollectionConfigSchemaType<TCollectionKey>, "key">);
  addText(key: string, props?: CFProps<"text"> & CollectionLabelFieldOptions): this;
  addNumber(key: string, props?: CFProps<"number"> & CollectionLabelFieldOptions): this;
  addRange(key: string, props?: CFProps<"range"> & CollectionListFieldOptions): this;
  addCheckbox(key: string, props?: CFProps<"checkbox"> & CollectionListFieldOptions): this;
  addSelect(key: string, props?: CFProps<"select"> & CollectionLabelFieldOptions): this;
  addTextarea(key: string, props?: CFProps<"textarea"> & CollectionLabelFieldOptions): this;
  addDateTime(key: string, props?: CFProps<"datetime"> & CollectionLabelFieldOptions): this;
  addUser(key: string, props?: CFProps<"user"> & CollectionListFieldOptions): this;
  addMedia(key: string, props?: CFProps<"media"> & CollectionListFieldOptions): this;
  addRelation(key: string, props: CFProps<"relation"> & CollectionListFieldOptions): this;
  addColor(key: string, props?: CFProps<"color"> & CollectionLabelFieldOptions): this;
  get getData(): CollectionData;
  get fixedBricks(): CollectionBrickConfig[];
  get builderBricks(): CollectionBrickConfig[];
  get brickInstances(): Array<BrickBuilder>;
}
//#endregion
export { CollectionBuilder as default };
//# sourceMappingURL=index.d.mts.map