import type { App, Field, Context, ValidationResult, Collection, CollectionItem, ExtractFieldInput } from "../../../main.js"; import HybridField from "../../../chip-types/field-hybrid.js"; import { RefreshCondition } from "../../event-description.js"; type GetValue = (context: Context, item: CollectionItem) => Promise; type CachedValueSettings = { refresh_on: RefreshCondition[]; get_value: GetValue; initial_value: InputType | null; derive_from?: string[]; }; export default class CachedValue> extends HybridField, { timestamp: number; value: StorageType; }, DecodedType, ExtractFieldInput, StorageType, T> { params: CachedValueSettings>; typeName: string; app: App; base_field: T; refresh_on: RefreshCondition[]; get_value: GetValue; hasDefaultValue: () => true; private initial_value; private virtual_derived; constructor(base_field: T, params: CachedValueSettings>); init(app: App, collection: Collection): Promise; checkForPossibleRecursiveEdits(): void; private refresh_outdated_cache_values; getDefaultValue(_: Context): Promise | null>; encode(context: Context, new_value: ExtractFieldInput): Promise; decode(context: Context, db_value: { timestamp: number; value: StorageType; } | null, old_value: any, is_http_api_request?: boolean): Promise; isProperValue(context: Context, new_value: Parameters[1], old_value: Parameters[2], new_value_blessing_token: symbol | null, item: CollectionItem | undefined): Promise; getValuePath(): Promise; setName(name: string): void; getPostgreSqlFieldDefinitions(): string[]; } export {};