import { WidgetProps } from '../Widget';
import { SCGroupType } from '@selfcommunity/types';
import { CacheStrategies } from '@selfcommunity/utils';
import { BaseDialogProps } from '../../shared/BaseDialog';
import { VirtualScrollerItemProps } from '../../types/virtualScroller';
import { UserProps } from '../User';
import { GroupSubscribeButtonProps } from '../GroupSubscribeButton';
export interface GroupRequestsWidgetProps extends VirtualScrollerItemProps, WidgetProps {
    /**
     * Group Object
     * @default null
     */
    group?: SCGroupType;
    /**
     * Id of the group
     * @default null
     */
    groupId?: number | string;
    /**
     * Limit the number of users to show
     * @default false
     */
    limit?: number;
    /**
     * Caching strategies
     * @default CacheStrategies.CACHE_FIRST
     */
    cacheStrategy?: CacheStrategies;
    /**
     * Props to spread to single user object
     * @default empty object
     */
    UserProps?: UserProps;
    /**
     * Props to spread to followers users dialog
     * @default {}
     */
    DialogProps?: BaseDialogProps;
    /**
     * Props to spread to group subscribe button component
     * @default {}
     */
    GroupSubscribeButtonProps?: GroupSubscribeButtonProps;
    /**
     * onSubscribeAction callback
     * @param user
     */
    onSubscribeActon?: (userId: number | string) => any;
    /**
     * Other props
     */
    [p: string]: any;
}
/**
 * > API documentation for the Community-JS Group Requests Widget component. Learn about the available props and the CSS API.
 *
 *
 * This component displays the list of users who have requested access to the specified group.

 #### Import

 ```jsx
 import {GroupRequestsWidget} from '@selfcommunity/react-ui';
 ```

 #### Component Name

 The name `SCGroupRequestsWidget` can be used when providing style overrides in the theme.


 #### CSS

 |Rule Name|Global class|Description|
 |---|---|---|
 |root|.SCGroupRequestsWidget-root|Styles applied to the root element.|
 |title|.SCGroupRequestsWidget-title|Styles applied to the title element.|
 |noResults|.SCGroupRequestsWidget-no-results|Styles applied to no results section.|
 |showMore|.SCGroupRequestsWidget-show-more|Styles applied to show more button element.|
 |dialogRoot|.SCGroupRequestsWidget-dialog-root|Styles applied to the dialog root element.|
 |endMessage|.SCGroupRequestsWidget-end-message|Styles applied to the end message element.|

 * @param inProps
 */
export default function GroupRequestsWidget(inProps: GroupRequestsWidgetProps): JSX.Element;
