UNPKG

@kubernetes-models/base

Version:
12 lines (11 loc) 531 B
import { type ValidateFunc } from "@kubernetes-models/validate"; import { type TypeMeta } from "./meta.js"; export type ModelData<T> = T extends TypeMeta ? Omit<T, keyof TypeMeta> : T; export type ModelConstructor<T> = new (data?: ModelData<T>) => Model<T>; export declare class Model<T> { constructor(data?: ModelData<T>); protected setDefinedProps(data?: ModelData<T>): void; toJSON(): unknown; validate(): void; } export declare function setValidateFunc<T>(ctor: ModelConstructor<T>, fn: ValidateFunc<T>): void;