import { FromDefinition, ModelDefinition } from "../types/definitions"; import { Model } from "./object-model"; export interface SetModel extends Model { (set: Set> | FromDefinition[]): Set>; new(set: Set> | FromDefinition[]): Set>; extend(...extensions: E): SetModel defaultTo>>(defaultValue: Default): SetModelWithDefault; } export interface SetModelWithDefault extends SetModel { (): Default new(): Default } export interface SetModelConstructor { (itemDefinition: D): SetModel; new(itemDefinition: D): SetModel; } export const SetModel: SetModelConstructor;