import { RequestOptions, RequestResponse } from "@miqro/request"; import { GroupPolicy, Handler, NoTokenSession, Request, Session, SessionHandlerOptions } from "../types.js"; export declare const DEFAULT_TOKEN_SET_COOKIE_HTTP_ONLY = "true"; export declare const DEFAULT_TOKEN_SET_COOKIE_SECURE = "true"; export declare const DEFAULT_TOKEN_SET_COOKIE_PATH = "/"; export declare const DEFAULT_TOKEN_SET_COOKIE_SAME_SITE = "strict"; export interface VerifyTokenService { verify(args: { token: string; req: Request; }): Promise; } export interface VerifyEndpointServiceOptions { url: string; method: string; tokenLocation: "header" | "query" | "cookie"; tokenLocationName: string | ((req: Request) => Promise); } export declare class VerifyEndpointService implements VerifyTokenService { protected options: VerifyEndpointServiceOptions; constructor(options?: VerifyEndpointServiceOptions); verify({ token, req }: { token: string; req: Request; }): Promise; protected getResponse(config: RequestOptions, req?: Request): Promise; protected checkSession(session: NoTokenSession, req?: Request): boolean; protected decodeSession(response: RequestResponse, token: string, req?: Request): Promise; } export declare function SessionHandler(config: SessionHandlerOptions): Handler; export declare function GroupPolicyHandler(options: GroupPolicy): Handler;