import { KosServiceResponse } from '../../../core';
interface LoginResponse {
    token: string;
}
/**
 * Convienience function to provide Studio specific login functions defaulting the url
 * Studio endpoint.
 * @param username - the username of the user to log in
 * @param password - the password of the user to log in
 * @returns a login response with the token of the logged in user
 *
 * @internal
 * @see login
 */
export declare const studioLogin: (username: string, password: string) => Promise<KosServiceResponse<LoginResponse> | null>;
/**
 * Attempts a log in against the specified URL.
 * @param username - the username of the user to log in
 * @param password - the password of the user to log in
 * @param url - the url to send the login request to.
 * @defaultValue - defaults to the Admin server URL.
 *
 * @returns a login response with the token of the logged in user
 */
export declare const login: (username: string, password: string, url?: string) => Promise<KosServiceResponse<LoginResponse> | null>;
/**
 * Convienience function to provide Studio specific password reset functions defaulting the url
 * Studio endpoint.
 * @param username - the userID of the user to start the password reset process.
 * @returns an API response with no value.
 *
 * @see startPasswordReset
 * @internal
 */
export declare const studioStartPasswordReset: (userId: string) => Promise<KosServiceResponse<unknown> | null>;
/**
 * When a user is first created or if the password is forgotten.  A user can request
 * a password reset from thier Organization administrator.  The administrator will end
 * up calling this function in order to initiate the request and have reset token sent
 * to the user on thier specified e-mail address (or other method.)
 * The token, received by the user, can be used as part of the reset call to provide a new password.
 *
 * @param userId - the user ID of the suer to start the password reset process.
 * @param url - the url to send the login request to.
 * @defaultValue - defaults to the Admin server URL.
 * @returns an API response with no value.
 * @internal
 * @see resetPassword
 */
export declare const startPasswordReset: (userId: string, url?: string, destinationAddress?: string) => Promise<KosServiceResponse<unknown> | null>;
/**
 * Convienience function to provide Studio specific password reset functions defaulting the url
 * Studio endpoint.
 * @param token - the reset token recieved as part of the `startPasswordReset` process
 * @param password - the new password to be used by the user specified in the token.
 * @returns an API response with no value.
 * @internal
 * @see startPasswordReset
 */
export declare const studioResetPassword: (token: string, password: string) => Promise<KosServiceResponse<unknown> | null>;
/**
 * Resets the password for the user.
 *
 * @param token - the reset token recieved as part of the `startPasswordReset` process
 * @param password - the new password to be used by the user specified in the token.
 * @param url - the url to send the login request to.
 * @defaultValue - defaults to the Admin server URL.
 * @returns an API response with no value.
 *
 * @internal
 * @see resetPassword
 */
export declare const resetPassword: (token: string, password: string, url?: string) => Promise<KosServiceResponse<unknown> | null>;
export declare const studioAcceptOrgInvitation: (token: string, password: string, name: string) => Promise<KosServiceResponse<unknown> | null>;
export declare const acceptOrgInvitation: (token: string, password: string, name: string, url?: string) => Promise<KosServiceResponse<unknown> | null>;
export {};
//# sourceMappingURL=index.d.ts.map