import { Module, StringMap } from "@intuitionrobotics/ts-common";
import { DB_PermissionProject, PredefinedGroup, PredefinedUser, Request_RegisterProject, Response_UsersCFsByShareGroups, UserUrlsPermissions } from "./_imports";
type Config = {
    project: DB_PermissionProject;
    predefinedGroups?: PredefinedGroup[];
    predefinedUser?: PredefinedUser;
};
export declare class PermissionsModule_Class extends Module<Config> {
    constructor();
    protected init(): void;
    getProjectIdentity: () => DB_PermissionProject;
    getUserUrlsPermissions(projectId: string, urlsMap: UserUrlsPermissions, userId: string, requestCustomField: StringMap): Promise<UserUrlsPermissions>;
    getUsersCFsByShareGroups(usersEmails: string[], groupsIds: string[]): Promise<Response_UsersCFsByShareGroups>;
    getUserCFsByShareGroups(userId: string, groupsIds: string[]): Promise<StringMap[]>;
    private getCustomFields;
    registerProject(routes: string[]): Promise<void>;
    _registerProject(registerProject: Request_RegisterProject): Promise<void>;
}
export declare const PermissionsModule: PermissionsModule_Class;
export {};
