import { AuthProviderFactory, ProfileTransform, SignInResolver } from '../types';
import { OAuthStateTransform } from './state';
import { OAuthAuthenticator, OAuthAuthenticatorResult } from './types';
import { SignInResolverFactory } from '../sign-in/createSignInResolverFactory';
/** @public */
export declare function createOAuthProviderFactory<TProfile>(options: {
    authenticator: OAuthAuthenticator<unknown, TProfile>;
    additionalScopes?: string[];
    stateTransform?: OAuthStateTransform;
    profileTransform?: ProfileTransform<OAuthAuthenticatorResult<TProfile>>;
    signInResolver?: SignInResolver<OAuthAuthenticatorResult<TProfile>>;
    signInResolverFactories?: {
        [name in string]: SignInResolverFactory;
    };
}): AuthProviderFactory;
