import { AxiosResponse } from 'axios';
import { Config } from './config';
import Request from './request';
export interface Permission {
    owner: string;
    name: string;
    createdTime: string;
    displayName: string;
    description: string;
    users?: string[];
    groups?: string[];
    roles?: string[];
    domains?: string[];
    model: string;
    adapter?: string;
    resourceType: string;
    resources?: string[];
    actions?: string[];
    effect: string;
    isEnabled: boolean;
    submitter?: string;
    approver?: string;
    approveTime?: string;
    state?: string;
}
export declare class PermissionSDK {
    private config;
    private readonly request;
    constructor(config: Config, request: Request);
    getPermissions(): Promise<AxiosResponse<{
        data: Permission[];
    }, any>>;
    getPermission(id: string): Promise<AxiosResponse<{
        data: Permission;
    }, any>>;
    modifyPermission(method: string, permission: Permission): Promise<AxiosResponse<Record<string, unknown>, any>>;
    addPermission(permission: Permission): Promise<AxiosResponse<Record<string, unknown>, any>>;
    updatePermission(permission: Permission): Promise<AxiosResponse<Record<string, unknown>, any>>;
    deletePermission(permission: Permission): Promise<AxiosResponse<Record<string, unknown>, any>>;
}
