import { Request } from 'express';
/**
 * A type for the serialized value in the `state` parameter of the OAuth authorization flow
 * @public
 */
export type OAuthState = {
    nonce: string;
    env: string;
    origin?: string;
    scope?: string;
    redirectUrl?: string;
    flow?: string;
    audience?: string;
};
/** @public */
export type OAuthStateTransform = (state: OAuthState, context: {
    req: Request;
}) => Promise<{
    state: OAuthState;
}>;
/** @public */
export declare function encodeOAuthState(state: OAuthState): string;
/** @public */
export declare function decodeOAuthState(encodedState: string): OAuthState;
