import type Context from "../context.js"; import type { App, Collection, CollectionItem, ItemListResult, TransitionChecker, ValidationResult } from "../main.js"; import { OpenApiTypes } from "../schemas/open-api-types.js"; import Field from "./field.js"; export default abstract class HybridField> extends Field { virtual_field: T; open_api_type: OpenApiTypes; getOpenApiSchema(context: Context): Promise>; transitionChecker: TransitionChecker; constructor(base_field: T); setName(name: string): void; setCollection(collection: Collection): void; builtinTransitionChecker(context: Context, old_value: ParsedType | undefined, new_value: ParsedType): Promise; encode(context: Context, value: InputType | null, old_value?: InputType): Promise; getMatchQueryValue(context: Context, filter: any): Promise; getMatchQuery(context: Context, filter: any): Promise; isProperValue(context: Context, new_value: Parameters[1], old_value: Parameters[2], new_value_blessing_token: symbol | null, item: CollectionItem | undefined): Promise; decode(context: Context, storage_value: StorageType, old_value: Parameters[2], is_http_api_request?: boolean): Promise; getAttachments(context: Context, values: any[], attachment_options: any): Promise>; init(app: App, collection: Collection): Promise; getPostgreSqlFieldDefinitions(): string[]; }