import { Matcher } from './Matcher'; import { MatchResult } from './MatchResult'; export interface ExactQueryMatcherInput { req: { url: string; }; } declare type QueryMatch = { [key: string]: readonly string[] | true | false | undefined; }; declare type QueryResult = { [P in keyof T]: T[P] extends true ? string : T[P] extends false ? never : T[P] extends undefined ? string | undefined : T[P] extends readonly string[] ? T[P][number] : never; }; export declare type ExactQueryMatchResult = MatchResult<{ query: QueryResult; }>; /** * Match query params * * key is a string and value: * true: must be present * false: must be absent * undefined: optional * 'some string': must be exact value */ export declare class ExactQueryMatcher implements Matcher, P> { private readonly listConfig; constructor(config: U); match({ req }: P): ExactQueryMatchResult; } export {};