import { AdminCopyDescriptor } from "../i18n/types.mjs";

//#region src/libs/permission/definitions.d.ts
declare const Permissions: {
  readonly UsersRead: "users:read";
  readonly UsersCreate: "users:create";
  readonly UsersUpdate: "users:update";
  readonly UsersDelete: "users:delete";
  readonly RolesRead: "roles:read";
  readonly RolesCreate: "roles:create";
  readonly RolesUpdate: "roles:update";
  readonly RolesDelete: "roles:delete";
  readonly MediaRead: "media:read";
  readonly MediaCreate: "media:create";
  readonly MediaUpdate: "media:update";
  readonly MediaDelete: "media:delete";
  readonly EmailRead: "email:read";
  readonly EmailDelete: "email:delete";
  readonly EmailSend: "email:send";
  readonly JobsRead: "jobs:read";
  readonly PublishOperationsRead: "publish-operations:read";
  readonly AiCustomFieldValue: "ai:custom-field-value";
  readonly AiImageGenerate: "ai:image-generate";
  readonly AiAltGenerate: "ai:alt-generate";
  readonly IntegrationRead: "integrations:read";
  readonly IntegrationCreate: "integrations:create";
  readonly IntegrationUpdate: "integrations:update";
  readonly IntegrationDelete: "integrations:delete";
  readonly IntegrationRegenerate: "integrations:regenerate";
  readonly SettingsRead: "settings:read";
  readonly SettingsUpdate: "settings:update";
  readonly LicenseUpdate: "license:update";
  readonly CacheClear: "cache:clear";
};
declare const PermissionGroups: Readonly<{
  users: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "users:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "users:create";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "users:update";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "users:delete";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
  roles: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "roles:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "roles:create";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "roles:update";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "roles:delete";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
  media: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "media:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "media:create";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "media:update";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "media:delete";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
  ai: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "ai:custom-field-value";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "ai:image-generate";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "ai:alt-generate";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
  emails: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "email:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "email:delete";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "email:send";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
  jobs: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: {
      key: "jobs:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    }[];
  };
  "publish-operations": {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: {
      key: "publish-operations:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    }[];
  };
  "client-integrations": {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "integrations:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "integrations:create";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "integrations:update";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "integrations:delete";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "integrations:regenerate";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
  settings: {
    key: string;
    details: {
      name: AdminCopyDescriptor;
    };
    core: true;
    permissions: ({
      key: "settings:read";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "settings:update";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "license:update";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    } | {
      key: "cache:clear";
      details: {
        name: AdminCopyDescriptor;
      };
      core: true;
    })[];
  };
}>;
//#endregion
export { PermissionGroups, Permissions };
//# sourceMappingURL=definitions.d.mts.map