import type { Field, App, Collection, CollectionItem, Context } from "../../../main.js"; import { HybridField, type ValidationResult } from "../../../chip-types/field.js"; export type DerivingFn = (context: Context, item: CollectionItem, ...args: unknown[]) => Promise; export default class DerivedValue, ParsedType = T extends Field ? P : never, InputType = T extends Field ? I : never, FunctionOutput extends InputType = InputType> extends HybridField { typeName: string; fields: string[]; deriving_fn: DerivingFn; private blessed_symbol; constructor(base_field: T, params: { fields: string[]; deriving_fn: DerivingFn; }); init(app: App, collection: Collection): Promise; isProperValue(context: Context, new_value: Parameters[1], old_value: Parameters[2], new_value_blessing_token: symbol | null, item: CollectionItem | undefined): Promise; hasIndex(): Promise; }