import { ModelDefinition, FromDefinition } from "../types/definitions"; import { Model } from "./object-model"; export interface ArrayModel extends Model { (array: FromDefinition[]): FromDefinition[]; new(array: FromDefinition[]): FromDefinition[]; extend(...extensions: E): ArrayModel defaultTo>(defaultValue: Default): ArrayModelWithDefault; } export interface ArrayModelWithDefault extends ArrayModel { (): Default new(): Default } export interface ArrayModelConstructor { (itemDefinition: D): ArrayModel; new(itemDefinition: D): ArrayModel; } export const ArrayModel: ArrayModelConstructor;