import { type IWorkspaceDescriptor } from "@gooddata/sdk-backend-spi";
import { type AssignedDataSourcePermission, type AssignedWorkspacePermission, type IDataSourceIdentifierDescriptor, type IDataSourcePermissionAssignment, type IOrganizationUser, type IOrganizationUserGroup, type IUser, type IUserGroup, type IWorkspacePermissionAssignment } from "@gooddata/sdk-model";
import { type DataSourcePermission, type DataSourcePermissionSubject, type IGrantedDataSource, type IGrantedUserGroup, type IGrantedWorkspace, type IUserMember, type WorkspacePermission, type WorkspacePermissionSubject } from "./types.js";
export interface IComparableItemWithTitle {
    title: string;
}
export declare const sortByName: (itemA: IComparableItemWithTitle, itemB: IComparableItemWithTitle) => number;
export declare const getWorkspaceItemTestId: (workspace: IWorkspaceDescriptor) => string;
export declare const getDataSourceItemTestId: (dataSource: IDataSourceIdentifierDescriptor) => string;
export declare const getUserGroupItemTestId: (userGroup: IGrantedUserGroup) => string;
export declare const getUserItemTestId: (user: IUserMember) => string;
export declare const asDataSourcePermission: (permissions: AssignedDataSourcePermission[]) => DataSourcePermission;
export declare const asPermission: (permissions: AssignedWorkspacePermission[]) => WorkspacePermission;
export declare const asEmptyDataSourcePermissionAssignment: (subjectId: string, subjectType: WorkspacePermissionSubject, dataSource: IGrantedDataSource) => IDataSourcePermissionAssignment;
export declare const asEmptyPermissionAssignment: (subjectId: string, subjectType: WorkspacePermissionSubject, workspace: IGrantedWorkspace) => IWorkspacePermissionAssignment;
export declare const asPermissionAssignment: (subjectId: string, subjectType: WorkspacePermissionSubject, workspace: IGrantedWorkspace) => IWorkspacePermissionAssignment;
export declare const asDataSourcePermissionAssignment: (subjectId: string, subjectType: DataSourcePermissionSubject, dataSource: IGrantedDataSource) => IDataSourcePermissionAssignment;
export declare const extractUserName: (user?: IOrganizationUser | IUser) => string | undefined;
export declare const extractUserGroupName: (userGroup: IOrganizationUserGroup | IUserGroup | undefined) => string | undefined;
export declare const grantedWorkspaceAsPermissionAssignment: (grantedWorkspace: IGrantedWorkspace) => Omit<IWorkspacePermissionAssignment, "assigneeIdentifier">;
export declare const grantedDataSourceAsPermissionAssignment: (grantedDataSource: IGrantedDataSource) => Omit<IDataSourcePermissionAssignment, "assigneeIdentifier">;
export declare const workspacePermissionsAssignmentToGrantedWorkspace: (assignment: IWorkspacePermissionAssignment) => IGrantedWorkspace;
export declare const dataSourcePermissionsAssignmentToGrantedDataSource: (assignment: IDataSourcePermissionAssignment) => IGrantedDataSource;
//# sourceMappingURL=utils.d.ts.map