import { Adapter } from "./adapter/adapter.js"; import { JWTPayload } from "jose"; import { SessionBuilder } from "./session.js"; export interface OnSuccessResponder { session(input: T & JWTPayload): Promise; } export declare class UnknownProviderError extends Error { provider?: string | undefined; constructor(provider?: string | undefined); } export declare class MissingParameterError extends Error { parameter: string; constructor(parameter: string); } export declare class UnknownStateError extends Error { constructor(); } export declare class UnauthorizedClientError extends Error { client: string; redirect_uri: string; constructor(client: string, redirect_uri: string); } export declare class InvalidSessionError extends Error { constructor(); } export type Prettify = { [K in keyof T]: T[K]; } & {}; export declare const aws: (app: import("hono").Hono) => (event: import("hono/aws-lambda").LambdaEvent, lambdaContext?: import("hono/aws-lambda").LambdaContext) => Promise; export declare function AuthHandler>, Sessions extends SessionBuilder = SessionBuilder, Result = { [key in keyof Providers]: Prettify<{ provider: key; } & (Providers[key] extends Adapter ? T : {})>; }[keyof Providers]>(input: { basePath?: string; stream?: boolean; session?: Sessions; providers: Providers; callbacks: { index?(req: Request): Promise; error?(error: UnknownStateError, req: Request): Promise; auth: { error?(error: MissingParameterError | UnauthorizedClientError | UnknownProviderError, req: Request): Promise; start?(event: Request): Promise; allowClient(clientID: string, redirect: string, req: Request): Promise; success(response: OnSuccessResponder, input: Result, req: Request): Promise; }; connect?: { error?(error: InvalidSessionError | UnknownProviderError, req: Request): Promise; start?(session: Sessions["$typeValues"], req: Request): Promise; success?(session: Sessions["$typeValues"], input: {}): Promise; }; }; }): import("hono/hono-base").HonoBase;