/** * Фильтрация инструментов по различным критериям */ import { Endpoint } from './tools/index.js'; export interface Filter { resource?: string | string[]; operation?: 'read' | 'write'; httpMethod?: 'get' | 'post' | 'put' | 'patch' | 'delete'; httpPath?: string | RegExp; name?: string | RegExp; } /** * Применяет фильтры к списку endpoints * Фильтры работают как включение (OR логика) - endpoint включается если соответствует хотя бы одному фильтру */ export declare function query(filters: Filter[], endpoints: Endpoint[]): Endpoint[]; /** * Вспомогательные функции для создания фильтров */ export declare const filters: { /** * Фильтр для операций чтения */ readOnly: () => Filter; /** * Фильтр для операций записи */ writeOnly: () => Filter; /** * Фильтр по ресурсу (поддержка wildcard паттернов типа 'video.*') */ resource: (resource: string | string[]) => Filter; /** * Фильтр для всех Video API */ video: () => Filter; /** * Фильтр для всех Data/Analytics API */ data: () => Filter; /** * Фильтр для всех Live Streams API */ liveStreams: () => Filter; /** * Фильтр для всех Real-time/Speak API */ realTime: () => Filter; /** * Фильтр для всех System API */ system: () => Filter; /** * Фильтр по HTTP методу */ method: (httpMethod: "get" | "post" | "put" | "patch" | "delete") => Filter; /** * Фильтр по пути */ path: (httpPath: string | RegExp) => Filter; /** * Фильтр по имени инструмента */ name: (name: string | RegExp) => Filter; /** * Комбинированный фильтр */ combine: (...filters: Filter[]) => Filter[]; }; //# sourceMappingURL=filtering.d.ts.map