import { AxiosInstance, AxiosResponse } from 'axios';
import { SystemRoleAttribute, TransactionAttribute } from '../utils/role.util';
import { TreeNode } from '../../node_modules/primevue/treenode';
export interface ServiceOptions {
    type?: 'Group' | 'Category';
    headers?: Record<string, unknown>;
    params?: TreeQueryParams;
}
export interface TreeListData {
    data: TreeNode[];
}
export type RoleType = 'Manager' | 'Monitoring' | 'Approval' | 'Staff';
export interface TreeRoleParams {
    showAll?: boolean;
    systemRole?: SystemRoleAttribute[];
    transactionAttribute?: TransactionAttribute[];
    roleType?: RoleType[];
}
export interface TreeQueryParams {
    systemRole?: string;
    transactionAttribute?: string;
    roleType?: string;
    showAll?: boolean;
}
export declare const API: ({ type, headers, params, }?: ServiceOptions) => AxiosInstance;
declare const TreeServices: {
    getTreeList: (type: ServiceOptions['type'], params?: TreeQueryParams) => Promise<AxiosResponse<TreeListData>>;
    getGroups: (params: any, id: string) => Promise<AxiosResponse>;
};
export default TreeServices;
