import { Field, Context, Policy, App, CollectionItem } from "../../../main.js"; import { type ExtractFieldDecoded, type ExtractFieldInput, type ExtractFieldStorage, HybridField } from "../../../chip-types/field.js"; type Params = { target_policies: { [key in "show" | "edit"]: Policy; }; value_when_not_allowed: InputType | DecodedType | null; }; export default class ControlAccess> extends HybridField, ExtractFieldDecoded, ExtractFieldStorage, ExtractFieldInput, ExtractFieldDecoded, ExtractFieldStorage, T> { typeName: string; edit_strategy: Policy; show_strategy: Policy; value_when_not_allowed: ExtractFieldInput | ExtractFieldDecoded | null; app: App; constructor(base_field: T, params: Params, ExtractFieldDecoded>); isProperValue(context: Context, new_value: Parameters[1], old_value: Parameters[2], new_value_blessing_token: symbol | null, item: CollectionItem | undefined): Promise; decode(context: Context, value_in_db: ExtractFieldStorage, old_value: ExtractFieldDecoded, is_http_api_request?: boolean): Promise; hasDefaultValue(): boolean; getDefaultValue(context: Context): Promise; } export {};