import { IUser } from './User';
export type IIAMProviderName = 'bluesky' | 'discord' | 'github' | 'google' | 'linkedin' | 'okta' | 'x';
export type IIAMProviderSpec = {
    name: IIAMProviderName;
    oauth2CallbackServerRoute: string;
    oauth2CallbackUIRoute: string;
    accessTokenCookieName: (user: IUser) => string;
    refreshTokenCookieName: string;
    userInfoURL: string;
    tokenRefreshURL: string;
    postShareURL: string;
    registerUploadURL: string;
};
export declare class IAMProvidersSpecs {
    private constructor();
    static getProvider(providerIAMProvidersType: any): IIAMProviderSpec;
    static readonly Bluesky: IIAMProviderSpec;
    static readonly GitHub: IIAMProviderSpec;
    static readonly Google: IIAMProviderSpec;
    static readonly LinkedIn: IIAMProviderSpec;
    static readonly Okta: IIAMProviderSpec;
}
export default IAMProvidersSpecs;
