import { Request } from 'express'; import EnvoyPluginSDK from './EnvoyPluginSDK'; import EnvoyMeta, { EnvoyEventMeta, EnvoyRouteMeta } from './EnvoyMeta'; import EntryPayload from '../payloads/EntryPayload'; import InvitePayload from '../payloads/InvitePayload'; import LocationPayload from '../payloads/LocationPayload'; import NotificationPayload from '../payloads/NotificationPayload'; import TakeoverPayload from '../payloads/TakeoverPayload'; import EnvoyEntryEvent from '../internal/EnvoyEntryEvent'; import EnvoyInviteEvent from '../internal/EnvoyInviteEvent'; import EnvoyLocationEvent from '../internal/EnvoyLocationEvent'; import EnvoyOptionsRouteResponseBody from '../internal/EnvoyOptionsRouteResponseBody'; import EnvoyOptionsRouteParams from '../internal/EnvoyOptionsRouteParams'; import EnvoySelectedValuesRouteResponseBody from '../internal/EnvoySelectedValuesRouteResponseBody'; import EnvoySelectedValuesRouteParams from '../internal/EnvoySelectedValuesRouteParams'; import EnvoyRemoteValueRouteResponseBody from '../internal/EnvoyRemoteValueRouteResponseBody'; /** * @internal */ export declare const VERIFIED: unique symbol; /** * @internal */ export interface VerifiedRequest extends Request { [VERIFIED]: boolean; } /** * Base type for Envoy requests. * You probably won't need to use this type directly. * For routes, use {@link EnvoyRouteRequest}, * and for events, use {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}. * * @category Base */ export interface EnvoyBaseRequest extends VerifiedRequest { envoy: EnvoyPluginSDK; } /** * Use to type your `req` object in Envoy route handlers such as validation URLs. * * @category Request */ export declare type EnvoyRouteRequest, Params = Record> = EnvoyBaseRequest, Payload>; /** * Use to type your `req` object in Envoy "migration" route handlers. * * @category Request */ export declare type EnvoyMigrationRouteRequest> = EnvoyRouteRequest; /** * Use to type your `req` object in Envoy "options URL" route handlers. * * @category Request */ export declare type EnvoyOptionsRouteRequest> = EnvoyRouteRequest; /** * Use to type your `req` object in Envoy "selected values URL" route handlers. * * @category Request */ export declare type EnvoySelectedValuesRouteRequest> = EnvoyRouteRequest; /** * Use to type your `req` object in Envoy "remote value URL" route handlers. * * @category Request */ export declare type EnvoyRemoteValueRouteRequest> = EnvoyRouteRequest; /** * Use to type your `req` object in Envoy "validation URL" route handlers. * * @category Request */ export declare type EnvoyValidationRouteRequest, Config = Record> = EnvoyRouteRequest; /** * Base type for event requests. * You should prefer specific types such as {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}. * * @category Request */ export declare type EnvoyEventRequest> = EnvoyBaseRequest, Payload>; /** * Use to type your `req` object in entry event handlers, * such as handlers for `entry_sign_in`. * * @category Request */ export declare type EnvoyEntryEventRequest> = EnvoyEventRequest; /** * Use to type your `req` object in invite event handlers, * such as handlers for `invite_created` or `upcoming_visit`. * * @category Request */ export declare type EnvoyInviteEventRequest> = EnvoyEventRequest; /** * Use to type your `req` object in location event handlers, * such as handlers for `location_capacity_updated`. * * @category Request */ export declare type EnvoyLocationEventRequest> = EnvoyEventRequest; /** * Use to type your `req` object in your notification event handler. * * @category Request */ export declare type EnvoyNotificationEventRequest> = EnvoyEventRequest; /** * Use to type your `req` object in your takeover event handler. * * @category Request */ export declare type EnvoyTakeoverEventRequest> = EnvoyEventRequest; /** * You probably won't need to use this type directly. * For routes, use {@link EnvoyRouteRequest}, * and for events, use {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}. * * @category Base */ declare type EnvoyRequest> = EnvoyBaseRequest | EnvoyEventMeta, Payload>; export default EnvoyRequest; //# sourceMappingURL=EnvoyRequest.d.ts.map