import { RolesMode } from './../../constants/constants';
import { ExtendedRouteConfig, RouteSettings } from './../../config';
interface SecurityRouteConfig {
    routePrefix: string;
    after?: string;
    before?: string;
}
interface RolesRouteConfig extends SecurityRouteConfig {
    group: string;
    userRouteName: string;
    detailTitle?: string;
    listTitle?: string;
    detailModuleId?: string;
    listModuleId?: string;
}
interface UsersRouteConfig extends SecurityRouteConfig, RouteSettings {
    list: {
        moduleId?: string;
        settings?: RouteSettings;
        title?: string;
    };
    detail: {
        moduleId?: string;
        settings?: RouteSettings;
        title?: string;
    };
}
export declare function addRolesToRoutes(routes: ExtendedRouteConfig[], inputConfig?: Partial<RolesRouteConfig>, srcPrefix?: string): ExtendedRouteConfig[];
export declare function addUsersToRoutes(routes: ExtendedRouteConfig[], config?: Partial<UsersRouteConfig>, rolesMode?: RolesMode, srcPrefix?: string, addDetailRoute?: boolean): ExtendedRouteConfig[];
export interface PermissionsConfig {
    perContext?: {
        context?: string;
        routeName?: string;
        qualifiedName: string[];
        href?: string;
        isCrud?: boolean;
        hint?: string;
        forceType?: 'screen' | 'functionality' | null;
    }[];
    permissionNames?: {
        [key: string]: {
            [key: string]: string;
        };
    };
}
export declare function applyDefaultPermissionsConfig(config?: PermissionsConfig): PermissionsConfig;
export {};
