import type { Logger } from '@b64hub/sfpm-core'; import type { Connection } from '@salesforce/core'; import type { PermSetAssignmentResult } from './types.js'; /** * Assigns permission sets to the running user in a Salesforce org. * * The assigner queries existing assignments first and skips any permission * sets that are already assigned — this makes the operation idempotent. * * Uses the REST API via the jsforce {@link Connection} rather than * shelling out to the CLI, so no `sf` binary is required at runtime. */ export declare class PermissionSetAssigner { private readonly connection; private readonly logger?; constructor(connection: Connection, logger?: Logger | undefined); /** * Assign a list of permission sets to the connection's authenticated user. * * @param permSetNames - API names of the permission sets to assign. * @returns Categorised results: assigned, skipped (already assigned), failed. */ assign(permSetNames: string[]): Promise; /** * Assign a single permission set to a user. */ private assignSingle; /** * Fetch the set of permission set API names already assigned to a user. */ private fetchExistingAssignments; /** * Query the User Id for the given username. */ private resolveUserId; }