import ActionPermission from './action-permission';
import RenderingPermissionService from './rendering-permission';
import { CollectionActionEvent } from './types';
import { Chart } from '../charts/types';
import { PermissionService } from '../types';
export default class PermissionServiceWithCache implements PermissionService {
    private readonly actionPermissionService;
    private readonly renderingPermissionService;
    constructor(actionPermissionService: ActionPermission, renderingPermissionService: RenderingPermissionService);
    canOnCollection({ userId, collectionName, event, }: {
        userId: number;
        event: CollectionActionEvent;
        collectionName: string;
    }): Promise<boolean>;
    canExecuteSegmentQuery(params: {
        userId: number;
        collectionName: string;
        renderingId: number;
        segmentQuery: string;
        connectionName?: string;
    }): Promise<boolean>;
    canTriggerCustomAction({ userId, collectionName, customActionName, }: {
        userId: number;
        customActionName: string;
        collectionName: string;
    }): Promise<boolean>;
    doesTriggerCustomActionRequiresApproval({ userId, collectionName, customActionName, }: {
        userId: number;
        customActionName: string;
        collectionName: string;
    }): Promise<boolean>;
    canApproveCustomAction({ userId, collectionName, customActionName, requesterId, }: {
        userId: number;
        customActionName: string;
        collectionName: string;
        requesterId: number;
    }): Promise<boolean>;
    getConditionalTriggerCondition({ userId, collectionName, customActionName, }: {
        userId: number;
        customActionName: string;
        collectionName: string;
    }): Promise<import("./types").RawTreeWithSources>;
    getConditionalRequiresApprovalCondition({ userId, collectionName, customActionName, }: {
        userId: number;
        customActionName: string;
        collectionName: string;
    }): Promise<import("./types").RawTreeWithSources>;
    getConditionalApproveCondition({ userId, collectionName, customActionName, }: {
        userId: number;
        customActionName: string;
        collectionName: string;
    }): Promise<import("./types").RawTreeWithSources>;
    getConditionalApproveConditions({ collectionName, customActionName, }: {
        customActionName: string;
        collectionName: string;
    }): Promise<Map<number, import("./types").RawTreeWithSources>>;
    getRoleIdsAllowedToApproveWithoutConditions({ collectionName, customActionName, }: {
        customActionName: string;
        collectionName: string;
    }): Promise<number[]>;
    canRequestCustomActionParameters({ userId, collectionName, customActionName, }: {
        userId: number;
        collectionName: string;
        customActionName: string;
    }): Promise<boolean>;
    canExecuteChart({ renderingId, userId, chartRequest, }: {
        renderingId: number;
        userId: number;
        chartRequest: Chart;
    }): Promise<boolean>;
    private getRoleIdForUserId;
}
//# sourceMappingURL=permission-with-cache.d.ts.map