import type { Request } from "express";
import type { RuleUser } from "../rules/types";
import type { ScopeConfig, AccessTokenPayload, IdTokenData } from "../types";
import { ExtendedSimulationStore } from "../store";
import { Auth0User } from "../store/entities";
export declare const createTokens: ({ body, iss, clientID, audience, rulesDirectory, scope: scopeConfig, simulationStore, }: {
    body: Request["body"];
    iss: string;
    clientID: string;
    audience: string;
    rulesDirectory: string | undefined;
    scope: ScopeConfig;
    simulationStore: ExtendedSimulationStore;
}) => Promise<{
    access_token: string;
    id_token?: undefined;
    refresh_token?: undefined;
} | {
    access_token: string;
    id_token: string;
    refresh_token: string | undefined;
}>;
export declare const getIdToken: ({ body, iss, user, clientID, nonce, }: {
    body: Request["body"];
    iss: string;
    user: Auth0User;
    clientID: string;
    nonce: string | undefined;
}) => {
    userData: RuleUser;
    idTokenData: IdTokenData;
};
export declare const getBaseAccessToken: ({ iss, grant_type, scope, audience, }: {
    iss: string;
    grant_type: string;
    scope: string;
    audience: string;
}) => Partial<AccessTokenPayload>;
//# sourceMappingURL=oauth-handlers.d.ts.map