import type { RelationDefinition } from './types'; import type { AggregateResult, Aggregation, Caller, CollectionSchema, DataSourceDecorator, PaginatedFilter, RecordData, RelationSchema } from '@forestadmin/datasource-toolkit'; import { CollectionDecorator, Filter, Projection } from '@forestadmin/datasource-toolkit'; export default class RelationCollectionDecorator extends CollectionDecorator { readonly dataSource: DataSourceDecorator; protected relations: Record; addRelation(name: string, partialJoint: RelationDefinition): void; list(caller: Caller, filter: PaginatedFilter, projection: Projection): Promise; aggregate(caller: Caller, filter: Filter, aggregation: Aggregation, limit?: number): Promise; protected refineSchema(subSchema: CollectionSchema): CollectionSchema; protected refineFilter(caller: Caller, filter: PaginatedFilter): Promise; private relationWithOptionalFields; private checkForeignKeys; private checkOriginKeys; private static checkKeys; private static checkColumn; private rewriteField; private rewriteLeaf; private reprojectInPlace; private static isKeyApplicable; private reprojectRelationInPlace; } //# sourceMappingURL=collection.d.ts.map