import { SdkBase, SdkOptions } from './SdkBase.js';
import { IUser } from '../models/store/User.js';
export interface IJwtInfo {
    /**
     * The information about the user that is read from the JWT.
     */
    data: IJwtUser;
    /**
     * The name of the provider.
     */
    provider: string;
}
export interface IJwtUser {
    /**
     * The provider's unique ID.
     */
    id: string;
    /**
     * The user's email address.
     */
    email: string;
    /**
     * true, if the provider has verified the email address.
     */
    email_verified: boolean;
    /**
     * The user's full name.
     */
    name: string;
    /**
     * If present, a URL to user's profile picture
     */
    picture?: string;
    given_name?: string;
    family_name?: string;
    /**
     * If present, the host domain of the user's GSuite email address.
     * Google specific.
     */
    hd?: string;
}
export interface IRegistrationInfo {
    reason: 'new-organization' | 'existing-organization';
    /**
     * The decoded JWT user information.
     * Used to create a user account.
     */
    user: IJwtInfo;
}
export interface IOrganizationRegistrationInfo extends IRegistrationInfo {
    reason: 'new-organization';
    /**
     * The name of the organization to create for the user.
     */
    organizationName: string;
}
export interface IOrganizationAddUserInfo extends IRegistrationInfo {
    reason: 'existing-organization';
    /**
     * Set when adding a user to an existing organization.
     */
    organizationId: string;
    /**
     * The invitation code used to invite the user.
     */
    invitation: string;
}
export declare class UsersSdk extends SdkBase {
    /**
     * Reads the current user.
     * @param request Optional request options.
     */
    me(request?: SdkOptions): Promise<IUser>;
}
//# sourceMappingURL=UsersSdk.d.ts.map