import type { AiPreferenceSortOption, AiPreferenceTarget } from '@n8n/api-types'; import { DataSource } from '@n8n/typeorm'; import { AiPreference } from '../entities'; import { BaseRepository } from './base-repository'; import { TransactionRunner } from '../services/transaction'; export type ReadableProjects = string[] | 'all'; export type ApplicableAiPreferencesQuery = { userId: string; projectIds: ReadableProjects; }; export type VisibleAiPreferencesQuery = ApplicableAiPreferencesQuery & { allUsers: boolean; }; export type AiPreferencePageQuery = VisibleAiPreferencesQuery & { skip: number; take: number; ids?: string[]; sortBy?: AiPreferenceSortOption; }; export declare class AiPreferenceRepository extends BaseRepository { constructor(dataSource: DataSource, transactionRunner: TransactionRunner); findApplicable(query: ApplicableAiPreferencesQuery): Promise; findPageVisible(query: AiPreferencePageQuery): Promise<[AiPreference[], number]>; countVisible(query: VisibleAiPreferencesQuery): Promise; countForTarget(target: AiPreferenceTarget): Promise; existsForTargetWithContent(target: AiPreferenceTarget, content: string, excludeId?: string): Promise; findByIdWithRelations(id: string): Promise; }