import { IncomingMessage } from 'connect'; import { InvalidRequestError } from '../errors'; declare enum AllowedHttpMethods { GET = 0, POST = 1, PUT = 2, PATCH = 3, DELETE = 4 } declare type AllowedHttpMethodsStrings = keyof typeof AllowedHttpMethods; interface RequestInfoBase { method: AllowedHttpMethodsStrings; query: ScimQuery; } interface ScimQuery { filter?: string; sortBy?: string; sortOrder?: string; } export interface RequestInfoWithoutId extends RequestInfoBase { hasId: false; } export interface RequestInfoWithId extends RequestInfoBase { hasId: true; id: string; } export declare type ScimRequestInfo = RequestInfoWithId | RequestInfoWithoutId; export declare const extractRequestInfo: (request: IncomingMessage) => ScimRequestInfo | InvalidRequestError; export {};