import { Field, Context } from "../../../main.js"; import { type AttachmentOptions } from "../../../chip-types/item-list.js"; import { OpenApiTypes } from "../../../schemas/open-api-types.js"; type InnerFilter = Record; type SearchFilter = InnerFilter | string; /** A reference to other item, in the same or other collection. Can point at items from only one, specified collection. Items with field of this type can be filtered by fields of the items it points at. Examples below. * */ export default class SingleReference extends Field { typeName: string; hasIndex: () => Promise; target_collection: string; filter: InnerFilter; open_api_type: OpenApiTypes; getOpenApiSchema(): Promise>; constructor(target_collection: string, filter?: InnerFilter); getTargetCollection(context: Context): import("../../../main.js").Collection; isProperValue(context: Context, input: string): Promise; getMatchQueryValue(context: Context, filter: SearchFilter): Promise<{ $eq: string; $in?: undefined; } | { $in: string[]; $eq?: undefined; }>; getAggregationStages(context: Context, filter_value: unknown): Promise<({ $lookup: { from: string; let: { referenced_id: string; }; pipeline: ({ $match: any; } | { $count: string; })[]; as: string; }; $match?: undefined; $unset?: undefined; } | { $match: { [x: string]: { $gt: number; }; }; $lookup?: undefined; $unset?: undefined; } | { $unset: string; $lookup?: undefined; $match?: undefined; })[] | { $match: { $or: ({ [x: string]: string; } | { [x: string]: null; } | { [x: string]: { $exists: boolean; }; })[]; }; }[] | { $match: { [x: string]: string; }; }[] | { $match: { [x: string]: { $in: any[]; }; }; }[]>; getAttachments(context: Context, target_ids: string[], attachment_options?: AttachmentOptions): Promise>; getPostgreSqlFieldDefinitions(): string[]; getPostgreSqlConstraintFieldDefinitions(): string[]; getPostgreSqlShouldFieldBeCreatedInitially(): boolean; getAttachmentIDs(value: string): string[]; } export {};