import { ReplaceUserRoles as ReplaceUserRolesPayload } from '../../models/replace-user-roles';
import { UserDetails } from '../../models/user-details';
import { AddClaimsOverride as AddClaimOverridePayload } from '../../models/add-claims-override';
import { RemoveClaimsOverride as RemoveClaimOverridePayload } from '../../models/remove-claims-override';
import { RedefinePassword as RedefinePasswordPayload } from '../../models/redefine-password';
import { RequestPasswordReset as ResetPasswordPayload } from '../../models/request-password-reset';
import { CreateUser } from '../../models/create-user';
import { DeleteUser } from '../../models/delete-user';
import { DeativateUser } from '../../models/deativate-user';
import { ActivateUser } from '../../models/activate-user';
export declare namespace UsersActions {
    class LoadAll {
        static readonly type = "[Users API] Load All";
    }
    class ReplaceUserRoles {
        data: ReplaceUserRolesPayload;
        static readonly type = "[Users API] Update User Roles";
        constructor(data: ReplaceUserRolesPayload);
    }
    class AddClaimsOverride {
        data: AddClaimOverridePayload;
        static readonly type = "[Users API] Add Claims Override";
        constructor(data: AddClaimOverridePayload);
    }
    class RemoveClaimsOverride {
        data: RemoveClaimOverridePayload;
        static readonly type = "[Users API] Remove Claims Override";
        constructor(data: RemoveClaimOverridePayload);
    }
    class Create<TMetadata extends {
        [key: string]: string;
    }> {
        data: CreateUser<TMetadata>;
        constructor(data: CreateUser<TMetadata>);
        static readonly type = "[Users API] Create User";
    }
    class Delete {
        data: DeleteUser;
        constructor(data: DeleteUser);
        static readonly type = "[Users API] Delete";
    }
    class Deactivate {
        data: DeativateUser;
        constructor(data: DeativateUser);
        static readonly type = "[Users API] Deactivate";
    }
    class Activate {
        data: ActivateUser;
        constructor(data: ActivateUser);
        static readonly type = "[Users API] Activate";
    }
    class LocalCreate<TUser extends UserDetails> {
        data: TUser;
        constructor(data: TUser);
        static readonly type = "[Users API] Local Create";
    }
    class LocalUpdate<TUser extends UserDetails> {
        data: TUser;
        constructor(data: TUser);
        static readonly type = "[Users API] Local Update";
    }
    class LocalDelete {
        id: string;
        constructor(id: string);
        static readonly type = "[Users API] Local Delete";
    }
    class ResetPassword {
        data: ResetPasswordPayload;
        static readonly type = "[Users API] Reset Password";
        constructor(data: ResetPasswordPayload);
    }
    class RedefinePassword {
        data: RedefinePasswordPayload;
        static readonly type = "[Users API] Redefine Password";
        constructor(data: RedefinePasswordPayload);
    }
    class Clear {
        static readonly type = "[Users API] Clear";
    }
}
