import * as React from 'react';
import { ListMetadata } from '../api/endpoint.cjs';
import '@tanstack/react-query';
import '../api/widgets-api-client.cjs';

declare function useUsersManagementState(initialState: UsersManagementState): readonly [UsersManagementState, React.ActionDispatch<[action: UsersManagementAction]>];
interface UsersManagementState {
    searchQuery: string | null;
    role: string | null;
    pagination: ListMetadata | null;
}
type UsersManagementAction = {
    type: "INIT";
    params: URLSearchParams;
} | {
    type: "FILTER_BY_SEARCH";
    searchQuery: string | null;
} | {
    type: "FILTER_BY_ROLE";
    role: string | null;
} | {
    type: "SET_PAGINATION";
    pagination: ListMetadata;
};

export { type UsersManagementAction, type UsersManagementState, useUsersManagementState };
