import type { ActionEndpointsByCollection } from './action'; import type HttpRequester from '../http-requester'; import type { RawTreeWithSources } from '@forestadmin/forestadmin-client'; import Chart from './chart'; import Collection from './collection'; export type SmartActionPermissionsOverride = Partial<{ triggerEnabled: boolean; triggerConditions: RawTreeWithSources; approvalRequired: boolean; approvalRequiredConditions: RawTreeWithSources; userApprovalEnabled: boolean; userApprovalConditions: RawTreeWithSources; selfApprovalEnabled: boolean; }>; export type CollectionPermissionsOverride = Partial<{ browseEnabled: boolean; deleteEnabled: boolean; editEnabled: boolean; exportEnabled: boolean; addEnabled: boolean; readEnabled: boolean; }>; export type PermissionsOverride = Record; }>; type CollectionName = keyof T & string; export default class RemoteAgentClient = Record> extends Chart { protected actionEndpoints?: ActionEndpointsByCollection; private overridePermissions?; constructor(params?: { actionEndpoints?: ActionEndpointsByCollection; httpRequester: HttpRequester; overridePermissions?: (permissions: PermissionsOverride) => Promise; }); overrideCollectionPermission(collectionName: CollectionName, permissions: CollectionPermissionsOverride): Promise; overrideActionPermission(collectionName: CollectionName, actionName: string, permissions: SmartActionPermissionsOverride): Promise; clearPermissionOverride(): Promise; collection(name: CollectionName): Collection; } export {}; //# sourceMappingURL=remote-agent-client.d.ts.map