/**
 * 쿼리 필터 전략 구현
 * Phase 3.5: searchLocal 메서드 분리 - 전략 패턴 적용
 */
/**
 * 쿼리 필터 전략 구현
 * Phase 2.4의 QueryFilterService를 래핑하여 전략 패턴 적용
 */
export class QueryFilterStrategy {
    name = 'QueryFilterStrategy';
    queryFilterService;
    constructor(queryFilterService) {
        if (!queryFilterService) {
            throw new Error('QueryFilterService is required');
        }
        this.queryFilterService = queryFilterService;
    }
    /**
     * 쿼리 기반 필터링 수행
     */
    async filter(query, results, provider) {
        return this.queryFilterService.filterByQuery(query, results, provider);
    }
    /**
     * 전략 실행 (ISearchStrategy 인터페이스 구현)
     */
    async execute(...args) {
        return this.filter(args[0], // query
        args[1], // results
        args[2] // provider
        );
    }
}
//# sourceMappingURL=query-filter-strategy.js.map