import '@quinck/collections';
import { AdminUserService, CreateUserParams } from '../models/components/admin-user-service';
import { CompleteUserInfo } from '../models/utils/user';
import { BasicCognitoService } from './basic-cognito-service';
export declare class CognitoAdminService<SignUpInfo extends Partial<UserInfoAttributes>, UserUpdateInfo extends Partial<UserInfoAttributes>, UserInfoAttributes extends Record<string, unknown>, Group extends string = string> extends BasicCognitoService<SignUpInfo, UserUpdateInfo, UserInfoAttributes> implements AdminUserService<SignUpInfo, UserUpdateInfo, UserInfoAttributes, Group> {
    confirmSignUp(username: string): Promise<void>;
    setUserPassword(username: string, password: string): Promise<void>;
    forceEmailVerification(username: string): Promise<void>;
    forcePhoneNumberVerification(username: string): Promise<void>;
    createUser(params: CreateUserParams<SignUpInfo>): Promise<CompleteUserInfo<UserInfoAttributes>>;
    updateUserPassword(username: string, password?: string, permanent?: boolean): Promise<void>;
    addUserToGroup(username: string, ...groups: Group[]): Promise<void>;
    removeUserFromGroup(username: string, ...groups: Group[]): Promise<void>;
    searchUsers(): Promise<CompleteUserInfo<UserInfoAttributes>[]>;
    searchUsersInGroup(group: string): Promise<CompleteUserInfo<UserInfoAttributes>[]>;
    getAllUsers(): Promise<CompleteUserInfo<UserInfoAttributes>[]>;
    getUserByEmail(email: string): Promise<CompleteUserInfo<UserInfoAttributes>>;
    private getAllUsersAllPages;
    private getAllUsersByGroupAllPages;
    private parseUsersSearchResult;
    private parseUser;
    getUserGroups(username: string): Promise<string[]>;
    getUser(username: string): Promise<CompleteUserInfo<UserInfoAttributes>>;
    private getUserByUsername;
    private mapStatus;
    updateUser(username: string, user: UserUpdateInfo): Promise<void>;
    deleteUser(username: string): Promise<void>;
    disableUser(username: string): Promise<void>;
    enableUser(username: string): Promise<void>;
    private forceAttributeVerification;
    private verifiedAttribute;
    private createUserAttributes;
}
