import type * as Merge from "../../../index";
/**
 * # The Permission Object
 * ### Description
 * The `Permission` object is used to represent permissions that can be applied to users, roles, teams, collections, and tickets.
 *
 * ### Usage Example
 * TODO
 */
export interface PermissionRequest {
    /** The third-party API ID of the matching object. */
    remoteId?: string;
    /**
     * Outcome of this permission rule for matching users.
     *
     * * `ALLOWED` - ALLOWED
     * * `DENIED` - DENIED
     * * `INHERITED` - INHERITED
     */
    effect?: Merge.ticketing.PermissionRequestEffect;
    /** Operations that this permission applies to. If the entity inherits permission from a parent entity, then this should be an empty array. In that case, the entity would inherit the parent entity’s actions. */
    actions?: (Merge.ticketing.ActionsEnum | undefined)[];
    appliedToUsers?: (string | undefined)[];
    appliedToRoles?: (string | undefined)[];
    appliedToTeams?: (string | undefined)[];
    appliedToCollections?: (string | undefined)[];
    integrationParams?: Record<string, unknown>;
    linkedAccountParams?: Record<string, unknown>;
}
