import { Context } from "hono";
import { z } from "@hono/zod-openapi";
import { Bindings, Variables } from "../types";
import { TokenResponse } from "@authhero/adapter-interfaces";
import { GrantFlowUserResult } from "src/types/GrantFlowResult";
export declare const authorizationCodeGrantParamsSchema: z.ZodObject<{
    grant_type: z.ZodLiteral<"authorization_code">;
    client_id: z.ZodString;
    code: z.ZodString;
    redirect_uri: z.ZodOptional<z.ZodString>;
    client_secret: z.ZodOptional<z.ZodString>;
    code_verifier: z.ZodOptional<z.ZodString>;
    organization: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type AuthorizationCodeGrantTypeParams = z.infer<typeof authorizationCodeGrantParamsSchema>;
export declare function authorizationCodeGrantUser(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, params: AuthorizationCodeGrantTypeParams): Promise<GrantFlowUserResult>;
export declare function authorizationCodeGrant(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, params: AuthorizationCodeGrantTypeParams): Promise<TokenResponse | Response>;
