import React from 'react';
import type { Option } from 'react-select';
import './PermissionsConfigurer.less';
export interface IPermissions {
    READ: string[];
    EXECUTE: string[];
    WRITE: string[];
}
export interface IPermissionRow {
    group: string;
    access: string;
}
export interface IPermissionsConfigurerProps {
    permissions: IPermissions;
    requiredGroupMembership: string[];
    onPermissionsChange: (permissions: IPermissions) => void;
}
export interface IPermissionsConfigurerState {
    permissionRows: IPermissionRow[];
    roleOptions: Option[];
}
export declare class PermissionsConfigurer extends React.Component<IPermissionsConfigurerProps, IPermissionsConfigurerState> {
    private static accessTypes;
    private static legacyAccessTypes;
    constructor(props: IPermissionsConfigurerProps);
    componentWillReceiveProps(nextProps: IPermissionsConfigurerProps): void;
    private getState;
    private getPermissionRows;
    private getRoleOptions;
    private convertRequiredGroupMembershipToPermissions;
    private buildPermissions;
    private willApplicationLockoutForUser;
    private willApplicationLockoutAllUsers;
    private handleRoleSelect;
    private handleAccessTypeSelect;
    private handleDeletePermission;
    private handleAddPermission;
    render(): JSX.Element;
}
