import { Path } from "path-to-regexp"; export interface IProfile { name?: string; target: string; match?: IRequestMatcher; filters?: { search?: Record; path?: Record; body?: Record; onSearchFilterNotFound?: 'keep' | 'remove' | 'reject'; onPathFilterNotFound?: 'keep' | 'reject'; onBodyFilterNotFound?: 'keep' | 'remove'; }; } export interface IRequestMatcher { host?: string; method?: string; pathname?: Path; } export interface ISearchParamFilter { allowedValues?: any[]; constraints?: any; defaultValue: any; onValueNotAllowed?: 'use-default' | 'remove' | 'reject'; } export interface IPathFilter { allowedValues: any[]; defaultValue: any; onValueNotAllowed?: 'use-default' | 'reject'; } export interface IBodyFilter { constraints?: any; allowedValues?: any[]; defaultValue: any; onValueNotAllowed?: 'use-default' | 'reject' | 'remove'; }